有没有javascript相当于。= for self concatenating?

时间:2010-03-17 12:53:05

标签: javascript

而不是做

my_var = my_var+'extra string';

是否有像。=在PHP中的简写方法?

4 个答案:

答案 0 :(得分:22)

使用+=

var s = 'begin';
s += 'ning';

答案 1 :(得分:5)

效果提示 note - 此建议对IE6有效,但在2014年不再值得担心)

如果您正在编写一些Javascript代码来构建一个长字符串(例如,一个相当大的HTML块,或者一个ajax请求的长参数列表),那么就不会养成习惯了这样做:

var longString = "";
for (var i = 0; i < someBigNumber; ++i) {
  if (i > 0) longString += "<br>" + whatever;
  longString += someMoreStuff();
}

随着longString变得越来越长,Internet Explorer将在循环的每次迭代中越来越难。即使someBigNumber不是那么大,那个循环的表现也可能非常糟糕。

幸运的是,有一个简单的选择:使用数组:

var accumulator = [];
for (var i = 0; i < someBigNumber; ++i) {
  accumulator.push(someMoreStuff());
}
var longString = accumulator.join("<br>" + whatever);

方式,方式更快在Internet Explorer中,而不是重复的字符串追加。

答案 2 :(得分:1)

是:my_var += 'extra string';

答案 3 :(得分:1)

+=

示例:

my_var += "extra string";