闭包经典问题的疑惑。。。包括一些js的疑惑
「已注销」 2018-11-07 01:55:34 function f(i) {
for (var i=0;i<5;i++)
{
var flag=setTimeout(function f2() {
console.log("内部的i:"+i);
},1000);
console.log(flag);
sleep(3000);
}
console.log("外面的i:"+i);
}
f(100);
为什么settimeout函数不会1秒后执行,而是等整个for循环跑完才走(一开始我以为是for循环太快了,后来加了sleep3秒,发现还是等整个for循环结束后才走,不解)