var funcs = [];
for(var i = 0; i < 10; i++) {
funcs.push(function() { return i; });
}
for(var j = 0; j < funcs.length; j++) console.log(funcsj);
Почему анонимная функция внутри push всегда возвращает 10?
var funcs = [];
for(var i = 0; i < 10; i++) {
funcs.push(function() { return i; });
}
for(var j = 0; j < funcs.length; j++) console.log(funcsj);
Почему анонимная функция внутри push всегда возвращает 10?
Потому что функция берет значение для i из замыкания в момент вызова. А вызывается она тогда, когда i уже равно 10.