9

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

var output = foo +";"+bar;

或者

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

3 回答 3

14

这并不重要。

根据他们的基准,有些博客会宣传第一个或第二个。

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

选择最易读的。一般是第一个。

如果你真的做了 10000 次推送的循环,请在你的真实代码中的客户浏览器上对其进行基准测试,并选择最好的,但前提是存在显着差异。不要忘记 javascript 很快。

于 2012-12-13T13:57:12.703 回答
1

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

于 2012-12-13T13:57:20.040 回答
0

根据我的说法,字符串连接比数组连接更快。看到这些测试用例

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

于 2012-12-13T14:10:34.633 回答