concat比push更快或更慢

时间:2012-12-13 13:55:05

标签: javascript performance

对于这段代码,我想在javascript中知道什么是最好的方法?

var output = foo +";"+bar;

var output = new Array(foo,bar).join(";");

3 个答案:

答案 0 :(得分:15)

这并不重要。

根据他们的基准,有博客推广第一个或第二个。

但事实是,javascript引擎经过大量优化和更改,因此您无法找到可重现的,跨浏览器的差异。

选择最具可读性。一般来说,这是第一个。

如果你真的做了10000次这样的循环,那么在真实代码中对你的客户浏览器进行基准测试,并选择最好但只有在存在显着差异的情况下。不要忘记javascript很快。

答案 1 :(得分:1)

http://jsperf.com/中有许多测试用例(例如http://jsperf.com/joint-vs-concat)。在那里你可以检查哪个更慢。 根据我的经验,取决于用户的浏览器(更确切地说 - JS引擎)。

答案 2 :(得分:0)

据我说,String连接比数组连接快。看到了这些测试用例

http://jsperf.com/array-join-vs-string-connect
http://jsperf.com/join-concat/2