javascript 函数参数限制说明


Posted in Javascript onNovember 19, 2010
测试结果:

safari 下是65535个.即 ushort 来存储(2字节 16个1).更多的则忽略.

其他浏览器 至少是int.MaxValue .据说FireFox 甚至是用long 来维护 实参数.
其他浏览器 也许是int 或者可能是uint .这个就不管了. 毕竟我们知道了瓶颈 在 65535.

基于 以上基础.可以在 连接数组时 考虑优先采用 [].push.apply(a,b) 代替 a=a.concat(b); 
我们只需要注意 对于safari 来说 b的length不能超过65535就ok啦.  
concat 的 问题在于 产生的新数组 并 遍历 a 和 b 两个数组,再依次把a和b的元素放入.

测试代码:
var count = 100000, a = [1,2,3], b = [4,5,6], r = [], i, d; 

d = new Date ; 
for (i = count; i-- ;){ 
     a.concat(b); 
} 
r[0] = new Date - d; 

d = new Date ; 
for (i = count; i-- ;){ 
     r.push.apply(a,b); 
     //a = [1,2,3] ; 
} 
r[1] = new Date - d; 

alert(r);

可以得出结论 即使是ie6 chrome2 safari 3 firefox 2这样古老的浏览器  push也是完胜的,个别浏览器 即使去掉 //a = [1,2,3] ; 注释部分. 居然效率也是胜过 concat的. 如chrome7 dev  和safari 5.
Javascript 相关文章推荐
JS多物体 任意值 链式 缓冲运动
Aug 10 Javascript
Select标签下拉列表二级联动级联实例代码
Feb 07 Javascript
一个小例子解释如何来阻止Jquery事件冒泡
Jul 17 Javascript
jQuery Validation PlugIn的使用方法详解
Dec 18 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
Oct 31 Javascript
angularJS 发起$http.post和$http.get请求的实现方法
May 18 Javascript
Angular指令之restict匹配模式的详解
Jul 27 Javascript
关于JS与jQuery中的文档加载问题
Aug 22 jQuery
layui table设置前台过滤转义等方法
Aug 17 Javascript
详解关于微信setData回调函数中的坑
Feb 18 Javascript
layer.alert自定义关闭回调事件的方法
Sep 27 Javascript
vue前端工程的搭建
Mar 31 Vue.js
Javascript的并行运算实现代码
Nov 19 #Javascript
js里的prototype使用示例
Nov 19 #Javascript
Google 静态地图API实现代码
Nov 19 #Javascript
javascript 窗口加载蒙板 内嵌网页内容
Nov 19 #Javascript
JS运行耗时操作的延时显示方法
Nov 19 #Javascript
function foo的原型与prototype属性解惑
Nov 19 #Javascript
高亮显示web页表格行的javascript代码
Nov 19 #Javascript
You might like
PHP.MVC的模板标签系统(三)
2006/09/05 PHP
随机头像PHP版
2006/10/09 PHP
Javascript 跨域访问解决方案
2009/02/14 Javascript
jquery lazyload延迟加载技术的实现原理分析
2011/01/24 Javascript
很棒的学习jQuery的12个网站推荐
2011/04/28 Javascript
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
JavaScript中使用Callback控制流程介绍
2015/03/16 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
JS异步文件上传(兼容IE8+)
2017/04/02 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
2种在vue项目中使用百度地图的简单方法
2018/09/28 Javascript
vue+flask实现视频合成功能(拖拽上传)
2021/03/04 Vue.js
Djang中静态文件配置方法
2015/07/30 Python
python删除文本中行数标签的方法
2018/05/31 Python
python2和python3的输入和输出区别介绍
2018/11/20 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
2019/08/29 Python
吃透移动端 1px的具体用法
2019/12/16 HTML / CSS
美国电视购物HSN官网:HSN
2016/09/07 全球购物
英国在线花园中心:You Garden
2018/06/03 全球购物
意大利在线购买隐形眼镜网站:VisionDirect.it
2019/03/18 全球购物
意大利包包和行李箱销售网站:Bagaglio.it
2021/03/02 全球购物
上学迟到的检讨书
2014/01/11 职场文书
决心书标准格式
2014/03/11 职场文书
幼儿园儿童节主持词
2014/03/21 职场文书
霸气队列口号
2014/06/18 职场文书
办公室主任四风问题对照检查材料思想汇报
2014/09/28 职场文书
法人代表证明书格式
2014/10/01 职场文书
学校政风行风评议工作总结
2014/10/21 职场文书
依法行政工作汇报材料
2014/10/28 职场文书
单位婚育证明范本
2014/11/21 职场文书
2014年基建工作总结
2014/12/12 职场文书
新教师个人总结
2015/02/06 职场文书
社区法制宣传月活动总结
2015/05/07 职场文书
使用 MybatisPlus 连接 SqlServer 数据库解决 OFFSET 分页问题
2022/04/22 SQL Server
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS