Оператор присваивания JavaScript в цикле ‘while’

#javascript #while-loop #assignment-operator

#javascript #цикл while #оператор присваивания

Вопрос:

У меня есть скрипт:

 <script>  
var text = "";  
var i = 0;  
while (i < 10) {  
text  = i;  
i  ;   
} 
document.getElementById("demo").innerHTML = text;  
</script>  
  

Этот скрипт запишет числа 0 ….9
Почему я должен использовать присваивание «text = i»?
почему я не могу вместо этого закодировать «text = i»?
Как бы вы объяснили эту строку кода?
Спасибо за ваше время!

ps. Я знаю text = i , что эквивалентно

 text = text   i     
  

здесь это не вопрос. 😉
и я также знаю, что если я введу «text = i», я получу только последнее число: 9.

Комментарии:

1. Что? Вы сами отвечаете на свой вопрос в своем (ps), нет?

2. Я не понимаю, почему я должен объявлять, что текст равен «текст» «i», вместо «текст» равен «i»

3. «объявить» что? Вы ничего не «объявляете», используя = . Это означает: «добавьте значение справа к значению слева и сохраните результат в переменной слева».

4. Сравнивали ли вы результат использования = vs = . ? Они очень разные. Таким образом, вы используете = для одного и = для другого. Вы уже понимаете, что делает каждый оператор и что произойдет, если вы просто назначите напрямую. Чего ты не понимаешь?

Ответ №1:

Простой оператор присваивания = присваивает переменной (или свойству объекта) в левой части значение справа. Прежнее значение переменной левой стороны теряется.

= Оператор выполняет сложение между текущим значением левой стороны и значением правой стороны, а затем присваивает этот результат левой стороне. Если вы хотите накопить серию операций сложения в переменную, тогда вы должны использовать = .

Если вы просто используете = , то переменная text сохранит только последнее присвоенное значение.

Именно так оператор присваивания работает в огромном количестве языков, таких как JavaScript.

Ответ №2:

Прежде всего, хорошо, что вы знаете, как работают операторы … поэтому позвольте мне пояснить, почему скрипт использует text = i

Давайте пройдемся по циклу Изначально text =» В первый раз он появляется в Text =’0′ Так что теперь, если вы добавляли текст в div, вы могли бы снова установить для него пустую строку или использовать text = i

Но вы не добавляете текст в div. Итак, если мы используем text = i, текст становится 0, а в next становится 1 и так далее, в конце его значение будет равно 9, но мы хотели 0 … 9, поэтому мы должны продолжать добавлять строковое значение чисел, чтобы получить 0 … 9