|
Модераторы: Sardar, Aliance |
|
denisalekss |
|
||||||||||||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 7.12.2020 Репутация: нет Всего: нет |
Почему код срабатывает только тогда когда
Если оставить код как есть вывод:
Сам код:
Вот такой код:
выдаст также
|
||||||||||||
|
|||||||||||||
Oldshelf |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 159 Регистрация: 22.4.2018 Репутация: нет Всего: 4 |
При использовании var сохраняется ссылка на переменную, а не её значение, как в случае с let. Цикл отрабатывает, i становится равной 6 и затем вызываются Timeout'ы, принимающие данное значение. Если объявить переменную через let, то в функцию, сразу при её вызове, будут передаваться значения переменной.
Кстати, во 2-ом примере нужно на 10-ой строке заменить j на i:
- тогда будет взята локальная, а не глобальная переменная i, со значением на момент определения SetTimeout'ов. |
|||
|
||||
_zorn_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: 1 Всего: 12 |
Банальная опечатка. Частенько такое было когда "почему не работает" )
Это сообщение отредактировал(а) _zorn_ - 2.4.2021, 20:46 |
|||
|
||||
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |