JS Замыкания и цикл с таймаутом.
Всеми любимый цикл.
function f(){
for(var i = 0; i < 10; i++) {
setTimeout(function() {
console.log(i);
}, 1000);
}
}
Выводит десять десяток. Предполагаю, что цикл выполнится раньше, чем запустится анон функция.
Но.
Почему так случается, если цикл не переходит дальше (то есть плюсует i, делает проверку на истинность и т.д до i=10) пока не выполниться setТimeout(...)?
Источник: Stack Overflow на русском