Почему «пусть» вести себя иначе, чем «var» внутри цикла с «settimeout»? [дублировать]Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Почему «пусть» вести себя иначе, чем «var» внутри цикла с «settimeout»? [дублировать]

Сообщение Anonymous »

Я пытаюсь понять разницу в поведении между let и var внутри цикла, особенно при использовании с SetTimeout.

Код: Выделить всё

for (var i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 1000);
}
// Output: 3, 3, 3

for (let i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 1000);
}
// Output: 0, 1, 2
Я попытался использовать как VAR, так и впустите внутреннее цикл с SETTIMEOUT , ожидая, что они будут вести себя одинаково и печатать числа от 0 до 2 через 1 секунду. Однако я заметил, что: < /p>

С помощью let вывод: 0, 1, 2 < /li>
С VAR вывод: 3, 3, 3 < /li>
< /ul>
Это поведение запутало меня, так как я думал, что оба будут только из 0 до 2 и напечатать каждое значение. Обзор может повлиять на это, но я хочу знать , почему именно это происходит и как замыкаются в таком поведении.

Подробнее здесь: https://stackoverflow.com/questions/796 ... settimeout
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Заставить пользовательский тип вести себя как std::string
    Гость » » в форуме C++
    0 Ответы
    17 Просмотры
    Последнее сообщение Гость
  • Как заставить разные части моего изображения вести себя как кнопки? [закрыто]
    Anonymous » » в форуме CSS
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Как заставить Spring Animations с ограничениями вести себя правильно?
    Anonymous » » в форуме IOS
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Как заставить Spring Animations с ограничениями вести себя правильно?
    Anonymous » » в форуме IOS
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • DoAnswer Mockito: вести себя странно и не проверять издевающегося слушателя [закрыто]
    Anonymous » » в форуме JAVA
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Javascript»