function btFun(){
var arr = [];
for (var i =0; i<3; i++){
let j = i;
arr.push(
function(){
console.log(j);
}
)
}
return arr;
}
我有疑问涉及let
。当我执行使用此代码创建的函数时,我得到了
0
,1
,2
。这是否意味着let
确实在内存中的某个位置创建了i
迭代器的副本值,并为它创建的每个函数引用了它们?