我读过如果我有一个for
循环,我不应该使用字符串连接,因为它很慢。例如:
for (i=0;i<10000000;i++) {
str += 'a';
}
相反,我应该使用Array.join()
,因为它更快:
var tmp = [];
for (i=0;i<10000000;i++) {
tmp.push('a');
}
var str = tmp.join('');
然而,我还读到,字符串连接只是 Internet Explorer 的一个问题,而使用 Webkit 的 Safari/Chrome 等浏览器实际上执行速度更快,而使用字符串连接比使用字符串连接要快。Array.join()
.
我试图找到所有主要浏览器的字符串连接与 Array.join() 之间的性能比较,但一直未能找到。
那么,什么是更快、更高效的 JavaScript 代码呢?使用字符串连接还是 Array.join()?
看来 Array.join() 在大多数浏览器中速度更快。
当前一代浏览器
FF3 array.join is ~2x faster
Safari 3 array.join ~1.5x faster
Opera 9 += ~3x faster
ie6 array.join ~6x faster
ie7 array.join ~4x faster
下一代浏览器
FF3.1 += array.join equal in speed
Chrome += ~1.25x faster
IE8 array.join ~1.6x faster
Webkit array.join ~2x faster
测试结果在这里:http://www.learningjquery.com/2009/03/43439-reasons-to-use-append- Correctly http://www.learningjquery.com/2009/03/43439-reasons-to-use-append-correctly
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)