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 09 Javascript
jquery 笔记 事件
Nov 02 Javascript
jquery的$getjson调用并获取远程的JSON字符串问题
Dec 10 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
Apr 02 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
Nov 13 Javascript
js removeChild 方法深入理解
Aug 16 Javascript
Angular 常用指令实例总结整理
Dec 13 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(一)
Jan 21 Javascript
JS滚动到指定位置导航栏固定顶部
Jul 03 Javascript
webpack实用小功能介绍
Jan 02 Javascript
详解vue-loader在项目中是如何配置的
Jun 04 Javascript
Javascript Symbol原理及使用方法解析
Oct 22 Javascript
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制作静态网站的模板框架
2006/10/09 PHP
php 应用程序安全防范技术研究
2009/09/25 PHP
php 调试利器debug_print_backtrace()
2012/07/23 PHP
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
php网页标题中文乱码的有效解决方法
2014/03/05 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
2016/08/12 PHP
js点击事件链接的问题解决
2014/04/25 Javascript
jQuery ui 利用 datepicker插件实现开始日期(minDate)和结束日期(maxDate)
2014/05/22 Javascript
js获取checkbox复选框选中的选项实例
2014/08/24 Javascript
浅析JS操作DOM的一些常用方法
2016/05/13 Javascript
AngularJs Managing Service Dependencies详解
2016/09/02 Javascript
jQuery检查元素存在性(推荐)
2016/09/17 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
JavaScript日期选择功能示例
2017/01/16 Javascript
Ajax验证用户名或昵称是否已被注册
2017/04/05 Javascript
深入解析nodejs HTTP服务
2017/07/25 NodeJs
解决Linux无法正常安装与卸载Node.js的方法
2018/01/19 Javascript
react native 文字轮播的实现示例
2018/07/27 Javascript
mpvue小程序仿qq左滑置顶删除组件
2018/08/03 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
微信小程序自定义导航栏(模板化)
2019/11/15 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队Mineski晋级之路
2018/04/07 DOTA
Python多线程编程简单介绍
2015/04/13 Python
python OpenCV学习笔记之绘制直方图的方法
2018/02/08 Python
Python urlencode和unquote函数使用实例解析
2020/03/31 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
各大浏览器 CSS3 和 HTML5 兼容速查表 图文
2010/04/01 HTML / CSS
Nordgreen美国官网:在线购买极简主义斯堪的纳维亚手表
2019/07/24 全球购物
公司会计岗位职责
2014/02/13 职场文书
2015年度销售个人工作总结
2015/03/31 职场文书
前台接待员岗位职责
2015/04/15 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书
学子宴致辞大全
2015/07/27 职场文书
2016年领导干部正风肃纪心得体会
2015/10/09 职场文书