网站首页 网站建设 IT知识 IT知识教程 javascript 函数参数限制说明

javascript 函数参数限制说明

2021-05-28 10:00:18
测试结果:

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.

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。 如涉及版权问题,请提交至online#300.cn邮箱联系删除。

以上产品还未完全满足我的所有需求,在下方提交我的专属需求
我的专属需求:
*手机号:
*验证码:
img
咨询报价
现在咨询
img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP