12

一月

2010

再谈Javascript中的字符串连接性能

Author: 化石 | Categories: 编程

3年前,Ajax开始火热起来的时候,很多关于Javascript的书都会谈到js中字符串相加的性能优化问题。解决的方法就是使用Array的join方法。这个方法确实很妙,在IE6,IE7下能提升大约5倍的性能。

3年后,偶然发现join比+=高效的说法不再正确了,在某些浏览器里。简单测试了一下,在IE 8,Chrome 4,Opera 10,Safari 4中直接使用字符串相加的方法要优于使用数组join,看来新浏览器都已经对此做了优化——除了Firefox。

有兴趣的同学可以去测试一下,网上的测试代码一大把,都是雷同的。注意测试的先后顺序会影响测试结果:比如先测+=再测join和先测join再测+=的结果有差异;前后两次join的结果也不同。

另外,arr[arr.length] = text 执行起来也比 arr.push(text) 略微快些。

Bookmark and Share

留言

Bloggers

  • Fossil Jue

    Fossil Jue | 化石 Fossil Jue's Feed

    Programmer

  • Young Mu

    Young Mu | 禾白 Fossil Jue's Feed

    Web/Interaction Designer

RSS

    google reader
    my yahoo
    鲜果
    哪吒
    九点