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 相关文章推荐
XP折叠菜单&仿QQ2006菜单
Dec 16 Javascript
jquery ajax提交表单数据的两种方式
Nov 24 Javascript
js禁止document element对象选中文本实现代码
Mar 21 Javascript
BootStrap中Table分页插件使用详解
Oct 09 Javascript
微信小程序上传图片到服务器实例代码
Nov 07 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
Jan 12 Javascript
详解extract-text-webpack-plugin 的使用及安装
Jun 12 Javascript
微信小程序表单验证form提交错误提示效果
Jun 19 Javascript
微信小程序常见页面跳转操作简单示例
May 01 Javascript
vue2之简易的pc端短信验证码的问题及处理方法
Jun 03 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
Aug 07 Javascript
vue-admin-template配置快捷导航的代码(标签导航栏)
Sep 04 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 正则匹配函数体
2009/08/25 PHP
php 删除记录同时删除图片文件的实现代码
2010/05/12 PHP
Destoon实现多表查询示例
2014/08/21 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
jQuery总体架构的理解分析
2011/03/07 Javascript
Javascript玩转继承(一)
2014/05/08 Javascript
JavaScript中数组添加值和访问值常见问题
2016/02/06 Javascript
JavaScript无缝滚动效果的实例代码
2017/03/27 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
JS实现的加减乘除四则运算计算器示例
2017/08/09 Javascript
深入理解Vue生命周期、手动挂载及挂载子组件
2017/09/27 Javascript
Bootstrap table使用方法汇总
2017/11/17 Javascript
Node.js中你不可不精的Stream(流)
2018/06/08 Javascript
小程序点击图片实现自动播放视频
2020/05/29 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
vue2路由基本用法实例分析
2020/03/06 Javascript
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
Python实现的HTTP并发测试完整示例
2020/04/23 Python
python使用电子邮件模块smtplib的方法
2016/08/28 Python
python爬虫之线程池和进程池功能与用法详解
2018/08/02 Python
Python简单读写Xls格式文档的方法示例
2018/08/17 Python
浅述python2与python3的简单区别
2018/09/19 Python
python next()和iter()函数原理解析
2020/02/07 Python
加拿大国民体育购物网站:National Sports
2018/11/04 全球购物
斯洛伐克香水和化妆品购物网站:Parfemy-Elnino.sk
2020/01/28 全球购物
开业庆典答谢词
2014/01/18 职场文书
上课迟到检讨书
2014/01/19 职场文书
承认错误的检讨书
2014/01/30 职场文书
六查六看剖析材料
2014/02/15 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
争先创优公开承诺书
2014/08/30 职场文书
公司感谢信范文
2015/01/22 职场文书
幼师大班个人总结
2015/02/13 职场文书
2016年暑假学生家长评语
2015/12/01 职场文书
驾驶员安全责任协议书
2016/03/22 职场文书