根据我的理解,由于提升,下面的函数应该打印5五次。但相反,它打印 6 五次。
问题是,当循环的限制是 <=5
时,它为什么会打印 6 ?
function () {
for ( var i = 1; i <= 5; i++) {
setTimeout( function() {
console.log(i); // 👈 this should print '5' five times
}, i * 1000)
}
}
最佳答案
for 循环在满足退出条件(即 6 > 5
)的 i++
发生后停止 - 此时,i< 的值
已经增加到 6
,大约一秒后,i
的值被打印
关于Javascript - 关于设置超时的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67945989/