在JavaScript中连接字符串的最有效方法?

在JavaScript中,我有一个有很多迭代的循环,在每次迭代中,我都会创建一个包含许多运算符的巨大字符串。有没有更有效的方法来创建字符串?我正在考虑创建一个动态数组,在其中我不断向其添加字符串,然后进行联接。任何人都可以解释并举例说明最快的方法吗?+=


答案 1

似乎基于JSPerf的基准测试,使用是最快的方法,尽管不一定在每个浏览器中。+=

对于在 DOM 中构建字符串,最好先连接字符串,然后添加到 DOM 中,而不是以迭代方式将其添加到 dom 中。不过,您应该对自己的案例进行基准测试。

(感谢@zAlbee的更正)


答案 2

我对串联本身没有评论,但我想指出,@Jakub汉普的建议:

对于在 DOM 中构建字符串,在某些情况下,最好以迭代方式添加到 DOM 中,而不是一次添加一个巨大的字符串。

是错误的,因为它是基于有缺陷的测试。该测试实际上从未附加到 DOM 中。

这个固定的测试表明,在渲染字符串之前一次创建所有字符串要快得多。这甚至不是一场比赛。

(抱歉,这是一个单独的答案,但我还没有足够的代表来评论答案。