请问版上的大神们:
for (var i = 0; i < 10; i++) {
function test() {
console.log(i);
}
test();
}
上面的程式跑下去,它会跑出 0,1,2,3...
但若是改成这样就不会了:
for (var i = 0; i < 10; i++) {
setTimeout(function() {
console.log(i);
}, 0);
}
想请问这是为什么呢?
setTimeout是不会马上执行是吗?
setTimeout跟其它的一般函式有什么不一样吗?
另外我以为函式包在函式里才是闭包
for(xxxxxx){} 这个for循环也是函式吗?
新手入门,还请多多指点,感激感激~~