这里面我知道结果输出得是5,可是为什么是4个5,js是单线程的,setTimeout()执行时for循环已经执行完毕,i++成为5,setTimeout()根据作用域链查找,输出i的结果是5,可是为什么是4个5,for循环不是已经执行完毕了吗?怎么会输出4个5。不太懂,麻烦大家解答一下,谢谢!
for (var i = 1; i <= 4; i++) {
setTimeout(function () {
console.log(i);
}, 1000)
}慕标5832272
相关分类