您现在的位置:首页 >> 前端 >> 内容

关于For循环中进行异步操作索引不正确的解决方案

时间:2017/11/28 3:10:28 点击: 13

  核心提示:关于For循环中进行异步操作索引不正确的解决方案function test() {for (var i = 0; i5; ++i) {setTimeout(function() {console.lo...

关于For循环中进行异步操作索引不正确的解决方案

function test() {
    for (var i = 0; i < 5; ++i) {
        setTimeout(function() {
            console.log("index is :", i);
        }, 1000);
    }
}
test();

output 问题输出

index is : 5
index is : 5
index is : 5
index is : 5
index is : 5

solution 使用自执行函数

function test() {
    for (var i = 0; i < 5; ++i) {
        (function(i){
            setTimeout(function() {
                console.log("index is :", i);
            }, 1000)
        })(i);
    }
}
test();

output 正确输出

index is : 0
index is : 1
index is : 2
index is : 3
index is : 4

Tags:关于 于F FO OR 
作者:网络 来源:Gensou-Nig
请选择您看到这篇文章时的心情: 已有0人表态:
0
0
0
0
0
0
0
0
惊讶 欠揍 支持 很棒 愤怒 搞笑 恶心 不解