Есть ли JavaScript, эквивалентный из. = для сам конкатенация?

Вместо выполнения

my_var = my_var+'extra string';

есть ли краткий метод как. = в php?

14
задан Haroldo 17 March 2010 в 12:53
поделиться

4 ответа

Используйте + =

var s = 'begin';
s += 'ning';
23
ответ дан 1 December 2019 в 09:01
поделиться

Да: my_var + = 'дополнительная строка';

1
ответ дан 1 December 2019 в 09:01
поделиться
+=

Пример:

my_var += "extra string";
1
ответ дан 1 December 2019 в 09:01
поделиться

Совет по производительности ( примечание - этот совет действителен для 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, чем повторное добавление строки.

5
ответ дан 1 December 2019 в 09:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: