var printNumTwo;
for (var i = 0; i < 3; i++) {
if (i === 2) {
printNumTwo = function() {
return i;
};
}
}
console.log(printNumTwo());
这会将3打印到控制台。
let printNumTwo;
for (let i = 0; i < 3; i++) {
if (i === 2) {
printNumTwo = function() {
return i;
};
}
console.log(i);
}
console.log(printNumTwo());
//console.log(i);
这会将2打印到控制台。我还添加了console.log(I);以在整个循环中调试和检查i的值,并在i==2处结束。当i==2时,循环是否退出?我想我会迭代到3,然后当条件I<;3为假,也就是当i==3时。
为什么在第一个例子中我以3结尾,在第二个例子中以2结尾?