У меня есть пара вопросов о цикле javascript.
Первый вопрос:
for (i=0; i<=2; i++) {;}
console.log(i);
Вывод равен 3. Разве это не должно быть 2?
Второй вопрос:
for (var i=0; i<=2; i++) {
setTimeout(function(){console.log(i);}, i*1000);
}
Тайм-ауты установлены правильно: 0, 1000 и 2000. Но выход составляет 3,3,3 (должно быть 0, 1, 2).Означает ли это, что отложенные функции выполняются после выхода из цикла?Зачем?
Что я должен прочитать, чтобы понять все эти загадочные вещи из JavaScript?
Спасибо.