Задать вопрос
partyzanx
@partyzanx

Почему поведение let, var в цикле одинаково?

for (var iIi = 0; iIi < 3; iIi++) {
  console.log(iIi); // 012  . В одном видео говорилось, что должно быть 123, потому что якобы зона видимости одна в () и в {} если использовать var . Язык за год поменялся чуток?
}
for (let jJj = 0; jJj < 3; jJj++) {
  console.log(jJj); // 012 
}


В чём разница тогда let , var?
  • Вопрос задан
  • 198 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 2
Lynn
@Lynn
nginx, js, css
В видео наверняка говорилось про асинхронные функции. Посмотрите так:

for (var iIi = 0; iIi < 3; iIi++) {
  setTimeout(() => console.log(iIi), 0);
}
for (let jJj = 0; jJj < 3; jJj++) {
  setTimeout(() => console.log(jJj), 0);
}
Ответ написан
при таком объявлении, `var` всплывет вверх, то есть он будет доступен вне цикла, а `let` только внутри цикла
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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