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 相关文章推荐
新手入门常用代码集锦
Jan 11 Javascript
javascipt匹配单行和多行注释的正则表达式
Nov 20 Javascript
Javascript如何判断数据类型和数组类型
Jun 22 Javascript
JS实战篇之收缩菜单表单布局
Dec 10 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
Jun 15 Javascript
vue实现仿淘宝结账页面实例代码
Nov 08 Javascript
Vue实现点击时间获取时间段查询功能
Aug 21 Javascript
基于打包工具Webpack进行项目开发实例
May 29 Javascript
JavaScript中的ES6 Proxy的具体使用
Jun 16 Javascript
新手快速入门JavaScript装饰者模式与AOP
Jun 24 Javascript
ES6 Array常用扩展的应用实例分析
Jun 26 Javascript
7个你应该知道的JS原生错误类型
Apr 29 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下mysql数据库操作类(改自discuz)
2010/07/03 PHP
php中session使用示例
2014/03/29 PHP
使用YUI+Ant 实现JS CSS压缩
2014/09/02 PHP
使用php转义输出HTML到JavaScript
2015/03/27 PHP
PHP进程通信基础之信号
2017/02/19 PHP
thinkphp分页集成实例
2017/07/24 PHP
php进程daemon化的正确实现方法
2018/09/06 PHP
PHP判断访客是否手机端(移动端浏览器)访问的方法总结【4种方法】
2019/03/27 PHP
详解Laravel服务容器的绑定与解析
2019/11/05 PHP
php框架CI(codeigniter)自动加载与自主创建对象操作实例分析
2020/06/06 PHP
漂亮的仿flash菜单,来自蓝色经典
2006/06/26 Javascript
Prototype的Class.create函数解析
2011/09/22 Javascript
javascript学习笔记(二) js一些基本概念
2012/06/18 Javascript
JavaScript禁止页面操作的示例代码
2013/12/17 Javascript
Windows 系统下安装和部署Egret的开发环境
2014/07/31 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
2015/04/05 Javascript
JavaScript创建对象的方式小结(4种方式)
2015/12/17 Javascript
window.close(); 关闭浏览器窗口js代码的总结介绍
2016/07/14 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
2016/08/26 Javascript
BootStrap实现邮件列表的分页和模态框添加邮件的功能
2016/10/13 Javascript
jquery.multiselect多选下拉框实现代码
2016/11/11 Javascript
JS常用倒计时代码实例总结
2017/02/07 Javascript
jQuery事件多次绑定与解绑问题实例分析
2019/02/19 jQuery
Vue常用的全选/反选的示例代码
2020/02/19 Javascript
如何在JavaScript中等分数组的实现
2020/12/13 Javascript
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
Python开发网站目录扫描器的实现
2019/02/21 Python
Python调用Windows命令打印文件
2020/02/07 Python
Python之变量类型和if判断方式
2020/05/05 Python
Bealls Florida百货商店:生活服饰、家居装饰和鞋子
2018/02/23 全球购物
Myprotein意大利官网:欧洲第一运动营养品牌
2018/11/22 全球购物
学校联谊活动方案
2014/02/15 职场文书
学校安全管理责任书
2014/07/23 职场文书
八荣八耻的活动方案
2014/08/16 职场文书
Android开发之底部导航栏的快速实现
2022/04/28 Java/Android