🧠 Задача по JavaScript: Асинхронность и замыкания
Что выведет следующий код?
for (var i = 0; i < 3; i++) {
setTimeout(function () {
console.log(i);
}, 100);
}
Варианты ответа:
A)
1
2
B)
3
3
C)
1
2
(в случайном порядке)
D)
---
✅ Правильный ответ: B
Почему:
Переменная i объявлена с помощью var, поэтому она является общей для всех итераций. К моменту выполнения setTimeout цикл уже завершился, и значение i равно 3. Каждая отложенная функция видит одно и то же значение.
Post #1614
837
- 👍 1