众所周知,当我们str = str + "123"
创建一个新字符串时。如果我们有大量的连接,它可能会相当昂贵。有没有一种在 JavaScript 中实现 StringBuilder 的简单方法?
问问题
3327 次
3 回答
9
您可以将部件推入一个数组,然后加入它:
var builder = []
builder.push( "some", "123" );
builder.push( "content" );
var str = builder.join("");
这个 SO question详细解释了它,另见这个类
于 2013-01-10T14:10:07.337 回答
1
我认为,实现一个比普通字符串连接更快的 StringBuilder 从来都不是一件容易的事。这显然是 Builder 的原因。
填充一个数组,如果它已满,则将其转换为字符串。
于 2013-01-10T14:08:49.180 回答
1
如果字符串是静态的,则 JavaScript 中的传统串联是最佳选择。
var foo = 'a' + 'b' + 'c' + 'd';
在大多数浏览器中都是如此。字符串连接
如果字符串根据程序可能是可变的,则任何一种方法都同样有效。
var foo = ""+Math.random() + Math.random() + Math.random() + Math.random();
var foo = [Math.random(), Math.random(), Math.random(), Math.random()].join('');
浏览器之间的差异不是太大,但传统的方式似乎更好一些字符串随机连接
于 2013-01-10T14:45:56.077 回答