对于这段代码,我想在javascript中知道什么是最好的方法?
var output = foo +";"+bar;
或
var output = new Array(foo,bar).join(";");
答案 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