可能重复:
JavaScript string concatenation
does javascript have a built in stringbuilder class?
众所周知,当我们str = str + "123"
时,会创建一个新字符串。如果我们有大量的连接,那么它可能相当昂贵。有一种在JavaScript中实现StringBuilder的简单方法吗?
答案 0 :(得分:6)
您可以将部件推入阵列,然后加入它:
var builder = []
builder.push( "some", "123" );
builder.push( "content" );
var str = builder.join("");
This SO question详细解释,另请参阅this class
答案 1 :(得分:1)
我认为,实现比普通字符串连接更快的StringBuilder绝非易事。这显然是构建器的原因。
如果数组完全将其转换为字符串,请填充数组。
答案 2 :(得分:1)
如果字符串是静态的,则JavaScript中的传统连接是最佳的。
var foo = 'a' + 'b' + 'c' + 'd';
在大多数浏览器中都是如此。 string-concatenation
如果字符串可能根据程序变化,则任何一种方法都同样有效。
var foo = ""+Math.random() + Math.random() + Math.random() + Math.random();
var foo = [Math.random(), Math.random(), Math.random(), Math.random()].join('');
浏览器之间的差异不是很大,但传统方式看起来好一点string-random-concatenation