众所周知,当我们执行 str = str + "123"
时,会创建一个新的字符串。如果我们有大量的连接操作,这可能会非常耗费资源。在JavaScript中是否有一种简单的方式来实现 StringBuilder?
众所周知,当我们执行 str = str + "123"
时,会创建一个新的字符串。如果我们有大量的连接操作,这可能会非常耗费资源。在JavaScript中是否有一种简单的方式来实现 StringBuilder?
如果字符串是静态的,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('');
浏览器之间的差异并不太大,但传统方式似乎稍微好一些string-random-concatenation
我认为,实现一个比普通字符串连接更快的 StringBuilder 从来都不是一件简单的事情。这也是 Builder 的显而易见的原因。
填充一个数组,如果它已满,则将其转换为字符串。
StringBuilder
。 - Eugeny89