理解for循环中的闭包

时间:2016-01-19 13:26:41

标签: javascript for-loop closures

我很困惑为什么选项1打印出'6',5次,而选项2打印出0,1,2,3,4,5。第一个不应该像选项2一样打印出来吗?

选项1:

for (var i = 0 ; i <= 5; i++) {
    setTimeout(function() {
        console.log(i);
    });
}

选项2:

for (var i = 0 ; i <= 5; i++) {
    doThis(function() {
        console.log(i);
    });
}
function doThis(a) {
    a();
}

0 个答案:

没有答案