比较了可以添加到数组中的4种方法的性能。

使用索引器添加

复制代码代码如下所示:

console.time(指数);

var = { };

对于(var i = 0,L =时间;i < l;i + +){

{我};

}

Console.timeEnd(指数);



使用推法

复制代码代码如下所示:

console.time(推);

var = { };

对于(var i = 0,L =时间;i < l;i + +){

A.push(我);

}

Console.timeEnd(推);



使用Concat方法

复制代码代码如下所示:

console.time(连接);

var = { };

对于(var i = 0,L =时间;i < l;i + +){

A.concat(我);

}

Console.timeEnd(连接);



使用Concat方法的参数是数组

复制代码代码如下所示:

console.time(concat阵列);

var = { };

对于(var i = 0,L =时间;i < l;i + +){

A.concat({ });

}

Console.timeEnd(concat阵列);



设置时间为10000(一万)次:

复制代码代码如下所示:

指数:0.310ms

推:1.476ms

连接:8.911ms

concat阵列:2.261ms





设置时间为100000(十万)次:

复制代码代码如下所示:

指数:1.967ms

推:11.980ms

连接:70.410ms

concat阵列:28.292ms



设置时间为1000000(百万)次:

复制代码代码如下所示:

指数:138.559ms

推:93.074ms

连接:608.768ms

concat阵列:243.371ms



设置时间为10000000(一千万)次:

复制代码代码如下所示:

指数:1473.733ms

推:611.636ms

连接:6058.528ms

concat阵列:2431.689ms



总结

这个结论只适用于Chrome浏览器。

Concat方法的执行效率是最慢的

相比于两Concat方法,当参数是一个数组,执行效率高于可接受的参数。

索引器大多是在大多数情况下比推法更有效

当执行死刑的人数越来越多,该索引的效率是不一样的推法一样有效



浏览器对比

我感谢网民们指出,我的经验不足以弥补浏览器之间的横向对比。

第一个是使用Concat方法。在伊江和Firefox中,参数是有效的,而不是非数组,但差别并不很大。

然后指数推方法比concat是肯定更快,指数法在IE的使用总是比Firefox快推,但差异不超过奋力一搏

比较3浏览器的索引效率和推送效率,差异很大。Firefox的执行效率远远高于IE和Chrome,它的效率几乎是IE和Chrome的10倍。



以下是数百万次的结果:

复制代码代码如下所示:

Firefox

索引:计时器开始

指数:229.79ms

推:定时器启动

推:205.12ms

康凯:计时开始

连接:2136.99ms

concat阵列:计时开始

concat阵列:2365.18ms

。



复制代码代码如下所示:

伊江

指数:2533.744毫秒

推送:3865.979毫秒

连接:4303.139毫秒

concat阵列:4792.208毫秒



本文只是探索JS的性能,通过对比加深对javascript合作伙伴的理解,希望大家能喜欢它。