объясните пожалуйста доступно(не одним словом),почему у объекта x все 3 значения равны 3 а не 1 2 3 как я думаю .в следующем коде
function foo(){
var a =[ ];
for(var i = 0; i < 3; I++)
a.push(function(){ print(i) } );
return a;
}
var x=foo();
for(var' var 'на 'let' – Air Aug 26 '18 at 17:54iне уникальная для каждого вызова, там адрес один и тот же, по этому будет доступно последнее установленное значение, полученное после выполнения цикла, всех его итераций. Нужно замыкание, что бы образовать специальную область видимости где будет хранится уникальное значение – Евгений Федак Aug 26 '18 at 18:07var i = 0писатьlet i = 0– Илья Зелень Aug 26 '18 at 18:13