Javascript中的字符串连接与字符串缓冲区

DLS*_*DLS 22 javascript optimization

我正在读这本书 - 用于Web开发人员的专业Javascript,与使用数组存储字符串然后使用join方法创建最终字符串相比,作者提到字符串连接是一项昂贵的操作.好奇,我在这里做了几个测试,看看它会节省多少时间,这就是我得到的 -

http://jsbin.com/ivako

不知何故,Firefox通常会产生两种类似的时间,但在IE中,字符串连接要快得多.那么,这个想法现在可以被认为是过时的(浏览器可能已经改进了吗?

Jus*_*rne 28

**编辑:我认为人们仍在观看这篇文章 - 但它已经有3年多了,所以最好只关注以下内容:http://jsperf.com/string-concatenation/14

查看此帖子的更改,看看它曾经说过什么.


Ric*_*nop 4

即使这是真的并且 join() 比串联更快也没关系。我们在这里谈论的是完全可以忽略不计的微小毫秒。

我总是更喜欢结构良好且易于阅读的代码,而不是微观的性能提升,并且我认为使用串联看起来更好并且更易于阅读。

只是我的两分钱。

  • 多次发生的循环内的毫秒并不总是可以忽略不计。它可以加起来达到几秒、几天或几年——取决于应用程序,我不敢相信你不知道这一点。你的两分钱一文不值。 (6认同)
  • 我认为理查德·诺普的观点完全正确。在项目的早期阶段,可读性非常重要。只要不在 i>1000 循环中,连接就没有问题。请不要落入这个“过早优化”陷阱……这是一个众所周知的反模式,在我的经历中引起了最大的痛苦。 (2认同)