dollar
@dollar
Делай добро и бросай его в воду.

Что за скрытое замыкание в самом цикле?

Об этом разве есть что-нибудь в спецификации?
Даже не ясно, куда смотреть. На описание того, как работают циклы? Или на что?
Понятный пример
let fn = [];
let i = 0;
for (i = 0; i < 3; i++) fn[i] = e=>console.log(i);
//Цикл закончился, i больше не меняется и точно равно 3
fn[0](); //3
fn[1](); //3
fn[2](); //3
Мистика
let fn = [];
for (let i = 0; i < 3; i++) fn[i] = e=>console.log(i);
//Цикл закончился, i больше не меняется и по идее равно 3
fn[0](); //0
fn[1](); //1
fn[2](); //2
  • Вопрос задан
  • 176 просмотров
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
xEpozZ
@xEpozZ
Веб-разработчик
var value = 1;
showValue = () => console.log(value);

showValue(); // "1"

value = 55;
showValue(); // "55"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы