JSstring“+”vs concat方法

我有一些Java的经验,我知道string与“+”运算符串联产生新的对象。

我想知道如何在JS中做到这一点,最好的做法是什么?

MDN有以下关于string.concat()说法:

强烈build议使用string连接运算符(+,+ =)来代替此方法的性能原因

另请参阅@Bergi的链接。

在JS“+”串联工作中,通过创build新的String对象。

例如:

 var s = "Hello"; 

我们有一个对象

下一个:

 s = s + " World"; 

现在, s是一个新的对象。

第二种方法: String.prototype.concat

  • 我们不能连接一个stringvariables到一个整数variables使用concat()函数,因为这个函数只适用于一个string,而不是一个整数。 但是我们可以使用+运算符将一个string连接到一个数字(整数)。
  • 我们知道,函数比运算符慢得多。 函数需要将值传递给预定义的函数,并需要收集函数的结果。 这比使用操作符执行操作要慢,因为操作员可以在线执行操作,但用于跳转到相应内存位置的函数……因此,如前所述,另一个区别显然是操作速度。
 <!DOCTYPE html> <html> <body> <p>The concat() method joins two or more strings</p> <p id="demo"></p> <p id="demo1"></p> <script> var text1 = 4; var text2 = "World!"; document.getElementById("demo").innerHTML = text1 + text2; //Below Line can't produce result document.getElementById("demo1").innerHTML = text1.concat(text2); </script> <p><strong>The Concat() method can't concatenate a string with a integer </strong></p> </body> </html> 

你可以试试这个代码(相同的情况下)

 chaine1 + chaine2; 

我build议你也(我更喜欢这个) string.concat方法

曾经有一段时间,将string添加到数组中并使用join完成string是最快/最好的方法。 现在,浏览器已经有了高度优化的string例程,build议++=方法是最快/最好的