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 相关文章推荐
jquery DOM操作 基于命令改变页面
May 06 Javascript
jWiard 基于JQuery的强大的向导控件介绍
Oct 28 Javascript
关于extjs4如何获取grid修改后的数据的问题
Aug 07 Javascript
Bootstrap框架结合jQuery仿百度换肤功能实例解析
Sep 17 Javascript
微信小程序 教程之WXSS
Oct 18 Javascript
微信小程序城市定位的实现实例(获取当前所在国家城市信息)
May 17 Javascript
Vue组件实例间的直接访问实现代码
Aug 20 Javascript
使用axios实现上传图片进度条功能
Dec 21 Javascript
vue实现树形菜单效果
Mar 19 Javascript
webpack中的热刷新与热加载的区别
Apr 09 Javascript
Node.js从字符串生成文件流的实现方法
Aug 18 Javascript
JS实现判断移动端PC端功能
Feb 21 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实现基于PDO扩展连接PostgreSQL对象关系数据库示例
2018/03/31 PHP
PHP实现的ID混淆算法类与用法示例
2018/08/10 PHP
点击文章内容处弹出页面代码
2009/10/01 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
单击某一段文字改写文本颜色
2014/06/06 Javascript
javascript将数字转换整数金额大写的方法
2015/01/27 Javascript
pace.js页面加载进度条插件
2015/09/29 Javascript
jquery彩色投票进度条简单实例演示
2020/07/23 Javascript
AngularJS 基础ng-class-even指令用法
2016/08/01 Javascript
jQuery使用deferreds串行多个ajax请求
2016/08/22 Javascript
Angularjs的键盘事件的绑定
2017/07/27 Javascript
使用cookie绕过验证码登录的实现代码
2017/10/12 Javascript
vue在使用ECharts时的异步更新和数据加载详解
2017/11/22 Javascript
JavaScript数据结构与算法之检索算法示例【二分查找法、计算重复次数】
2019/02/22 Javascript
vue webpack重写cookie路径的方法
2019/07/10 Javascript
[19:24]DOTA2客户端使用指南 一分钟快速设置轻松超神
2013/09/24 DOTA
[01:05:32]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第一局
2016/03/04 DOTA
如何高效使用Python字典的方法详解
2017/08/31 Python
PyQt5 多窗口连接实例
2019/06/19 Python
python3 反射的四种基本方法解析
2019/08/26 Python
python 实现批量替换文本中的某部分内容
2019/12/13 Python
python使用自定义钉钉机器人的示例代码
2020/06/24 Python
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
HTML5 canvas画图并保存成图片的jcanvas插件
2014/01/17 HTML / CSS
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
自荐信要包含哪些内容
2013/11/06 职场文书
办公室秘书自我鉴定
2014/01/18 职场文书
2014植树节活动总结
2014/03/11 职场文书
安全生产承诺书
2014/03/26 职场文书
大学生见习报告范文
2014/11/03 职场文书
小学语文国培研修日志
2015/11/13 职场文书
检举信的写法
2019/04/10 职场文书
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL
Go中的条件语句Switch示例详解
2021/08/23 Golang
Javascript中Microtask和Macrotask鲜为人知的知识点
2022/04/02 Javascript
Spring Cloud Netflix 套件中的负载均衡组件 Ribbon
2022/04/13 Java/Android