another_dream
@another_dream
Backend-разработчик, Laravel/ZF2/Yii2

Что выведет скрипт?

var e = [];

for (var i in [1,2,3,4]) {

e.push(function(){ console.log(i)});

}

e[0](); e[1](); e[2](); e[3]();
  • Вопрос задан
  • 3022 просмотра
Решения вопроса 2
linoleum
@linoleum
Это что, загадка?)
Скрипт выведет 3 3 3 3, так как функции в массиве e будут через замыкание иметь доступ к переменной i, которая в момент вызова будет равна трем, в процессе выполнения ей присваивается ключ.
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
4 раза выведет последний ключ массива (тобиш троечку). Как-то не сильно интересная задачка...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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