在JavaScript中连接string的最佳方法是什么?
在JavaScript中,我有一个有很多迭代的循环,并且在每次迭代中,我都创build了一个有很多+=
运算符的巨大string。 有没有更有效的方法来创build一个string? 我正在考虑创build一个dynamic数组,我不断向其中添加string,然后进行连接。 任何人都可以解释,并给出一个最好的方法来做到这一点的例子?
谢谢。
似乎基于JSPerf的基准,使用+=
是最快的方法,但不一定在每个浏览器。
为了在DOM中构buildstring, 最好先连接string,然后添加到DOM,而不是迭代地将其添加到DOM。 你应该基准你自己的情况。
(谢谢@zAlbee更正)
我对连接本身没有任何评论,但是我想指出@Jakub Hampl的build议:
为了在DOM中构buildstring,在某些情况下,迭代添加到DOM可能会更好,而不是一次添加一个巨大的string。
是错误的,因为它是基于一个有缺陷的testing。 该testing永远不会附加到DOM中。
这个固定的testing表明,在渲染之前一次创buildstring的速度要快得多。 这甚至不是比赛。
(对不起,这是一个单独的答案,但我没有足够的代表评论答案呢。)
这个问题已经过了三年,但我仍然会提供我的答案:)
其实接受的答案是不完全正确的。 Jakub的testing使用了硬编码的string,它允许JS引擎优化代码执行(Google的V8在这方面真的很棒!)。 但是,只要你使用完全随机的string( 这里是JSPerf ),string连接将在第二位。