视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
javascript函数参数说明_javascript技巧
2020-11-27 20:55:56 责编:小采
文档


测试结果:

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.

下载本文
显示全文
专题