测试结果:
基于 以上基础.可以在 连接数组时 考虑优先采用 [].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;
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.
标签:
函数参数,限制
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com
暂无“javascript 函数参数限制说明”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。