快速连接nodeJS / JavaScript中的string的方法

我明白,做一些像

var a = "hello"; a += " world"; 

这是相当慢的,因为浏览器在O(n) 。 没有安装新的库,有没有更快的方法?

这是已知最快的方式在JavaScript中连接string。

有关更多详情,请参阅:

为什么string连接比数组连接更快?

JavaScript:如何将两个数组连接/组合成一个数组?

这个问题已经回答了,但是当我第一次看到它的时候,我想到了NodeJS Buffer。 但是它比+慢,所以在string猜测中没有什么可以比+快。

testing以下代码:

 function a(){ var s = "hello"; var p = "world"; s = s + p; return s; } function b(){ var s = new Buffer("hello"); var p = new Buffer("world"); s = Buffer.concat([s,p]); return s; } var times = 100000; var t1 = new Date(); for( var i = 0; i < times; i++){ a(); } var t2 = new Date(); console.log("Normal took: " + (t2-t1) + " ms."); for ( var i = 0; i < times; i++){ b(); } var t3 = new Date(); console.log("Buffer took: " + (t3-t2) + " ms."); 

输出:

 Normal took: 4 ms. Buffer took: 458 ms. 

JavaScript中没有任何其他方式来连接string。
你理论上可以使用.concat() ,但是这比+

库通常比原生JavaScript慢,特别是在string连接或数值操作等基本操作上。

简单地说: +是最快的。

你问过关于performance。 看这个性能testing,比较'concat','+'和'join' – 简而言之,+运营商赢得了胜利。