В типичном цикле с var отложенные callbacks захватывают одну общую переменную и видят её итоговое значение; точный вывод зависит от кода.
Задача на замыкание: что выведет код с var в цикле и как это исправить?
В типичном цикле с var отложенные callbacks захватывают одну общую переменную и видят её итоговое значение; точный вывод зависит от кода.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В типичном цикле с var отложенные callbacks захватывают одну общую переменную и видят её итоговое значение; точный вывод зависит от кода.
Например, три timeout в цикле for (var i = 0; i < 3; i++) обычно выведут три раза 3. let создаёт отдельную привязку на итерацию; альтернативой служит функция с аргументом. Для синхронного callback поведение будет другим.