Heim > Web-Frontend > js-Tutorial > javascript 函数参数限制说明_javascript技巧

javascript 函数参数限制说明_javascript技巧

WBOY
Freigeben: 2016-05-16 18:15:59
Original
1168 Leute haben es durchsucht
测试结果:

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.
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage