所以我试图解决这个难题:
function fun1(){
var result = [];
for (var i = 0; i < 5; i++){
result.push( function() {return i} );
}
return result;
}
console.log(fun1()[0]()) // returns 5?
该数组的第一个元素不应该返回一个返回“0”的函数吗?
不,它应该返回 5。
该函数仍然有对 i 的引用,即 for 之后的 5。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)