setTimeout解决循环值的几种方法

    for(var i=0;i<5;i++){
        setTimeout(function(){
            console.log(`错误 ${i}`);
        },0)
    }

    for(var i=0;i<5;i++){
        (function(i){
            setTimeout(function(){
                console.log(`闭包 ${i}`);
            },0)
        })(i);
    }

    for(let i=0;i<5;i++){
        setTimeout(function(){
            console.log(`let ${i}`);
        },0)
    }

    for(var i=0;i<5;i++){
        setTimeout(function(i){
            console.log(`bind ${i}`);
        }.bind(null,i),0)
    }

    for(var i=0;i<5;i++){
        setTimeout(function(i){
            console.log(`参数 ${i}`);
        },0,i)
    }

猜你喜欢

转载自blog.csdn.net/zzgzzg00/article/details/79427875