#javascript #string #loops #for-loop
#javascript #строка #циклы #for-цикл
Вопрос:
Я хочу знать, почему, когда я добавляю переменную со значением пустой строки («), цикл работает, но когда я удаляю его, цикл … похоже, не зацикливается внутри этой функции…
Вот первый цикл:
function laugh(num) {
var laugh = "ha";
for (var i=0; i<=num; i ){
laugh;
}
return laugh "!";
}
console.log(laugh(3));
А вот и второй:
function laugh(num) {
var string = "";
var laugh = "ha";
for (var i=1; i<=num; i ){
string = laugh;
}
return string "!";
}
console.log(laugh(3));
Первый возвращает «ха!», в то время как второй возвращает правильное количество ha …что означает «хахаха!»
почему добавление пустой строки заставляет его работать? Кстати, новичок…Я действительно не хочу переходить к следующему уроку, пока полностью не пойму, что происходит. Большое спасибо!
Ответ №1:
Это потому, что все, что вы делаете в первом цикле, — это оператор:
laugh;
//Equivalent to
"ha";
Во втором цикле вы объединяете новую строку в string
:
string = laugh;
Вам нужно выполнить эту конкатенацию, иначе она вернет только ha!
:
function laugh(num) {
var laugh = "ha";
for (var i = 0; i <= num; i ) {
laugh = "ha";
}
return laugh "!";
}
console.log(laugh(3));