Я пытаюсь добавить к своей строке в JavaScript, и каждый раз, когда она проходит по строке, кажется, что она остается неизменной, несмотря на то, что цикл работает. Пример:
var number = 3
for (var i = 0; i < number; i++) {
var examplestring = "";
examplestring += "foo ";
}
output = "foo"
what i want : "foo foo foo "
массивная оплошность, большое спасибо



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Ты устанавливаешь
examplestring = ""
внутри цикла, поэтому вы его очищаете, затем добавляете "foo", затем очищаете его, добавляете еще один foo, очищаете его, добавляете foo и получаете обратно только один foo. Вы хотите объявить переменную за пределами вне цикла, прежде чем цикл будет запущен.
Спасибо за ответ ! Я почувствовал себя таким глупым, когда увидел это, что теперь я тоже не могу удалить его.
@aidan не беспокойтесь :) нет глупых вопросов, только глупые ответы (за исключением того, что вы можете найти в Google), и вопрос будет закрыт автоматически через некоторое время, мы это рассмотрели.
Поместите var examplestring вне цикла
var number = 3
var examplestring = "";
for (var i = 0; i < number; i++) {
examplestring += "foo ";
}
Внутри цикла вы повторно инициализируете examplestring. Каждый раз foo присваивается переменной examplestring. Вот почему в результате показывает foo. Объявите examplestring вне цикла, как показано ниже:
var number = 3;
var examplestring = "";
for (var i = 0; i < number; i++) {
examplestring += "foo ";
}
console.info(examplestring);
Переместите
var examplestring = "";перед петлей. Все тело цикла выполняется на каждой итерации. Итак, в вашем коде вы устанавливаетеexamplestringна пустую строку на каждой итерации, что, очевидно, не то, что вам нужно.