JS字符串“+”vs concat方法

时间:2013-04-20 19:01:10

标签: javascript

我对Java有一些经验,我知道字符串连接与“+”运算符会产生新对象。

我想知道如何以最好的方式在JS中做到这一点,它的最佳实践是什么?

5 个答案:

答案 0 :(得分:160)

MDN对string.concat()

有以下说法
  

强烈建议使用字符串连接运算符   (+,+ =)而不是出于性能原因的方法

另请参阅@Bergi的link

答案 1 :(得分:18)

在JS中,“+”连接通过创建新的String对象来起作用。

例如,用...

var s = "Hello";

...我们有一个对象 s

下一步:

s = s + " World";

现在, s 是一个新对象。

第二种方法: String.prototype.concat

答案 2 :(得分:9)

曾经有一段时间将字符串添加到数组中,并使用join最终确定字符串是最快/最好的方法。目前浏览器具有高度优化的字符串例程,建议++=方法最快/最好

答案 3 :(得分:6)

  • 我们不能使用concat()函数将字符串变量连接到整数变量,因为此函数仅适用于字符串,而不适用于整数。但我们可以使用+运算符将字符串连接到数字(整数)。
  • 众所周知,功能比运营商慢得多。函数需要将值传递给预定义函数,并需要收集函数的结果。这比使用运算符进行操作要慢,因为运算符在线执行操作,但用于跳转到适当的内存位置的函数......所以,正如前面的答案所提到的,另一个区别显然是运算速度。



<!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>
&#13;
&#13;
&#13;

答案 4 :(得分:3)

您可以尝试使用此代码(相同案例)

chaine1 + chaine2; 

我建议你(我更喜欢这个)string.concat method