闭包问题for(var i=0;i<10;i++){ setTimeout(function(){ console.log(i)//10个10 },1000) }

for(var i=0;i<10;i++){

    setTimeout(function(){

      console.log(i)//10个10

    },1000) }

 

遇到这种问题 如何用解决呢

for(var i=0;i<10;i++){

  ((j)=>{

    setTimeout(function(){

      console.log(j)//1-10

    },1000)

})(i)

}

原理是 声明了10个自执行函数,保存当时的值到内部

posted @ 2019-10-29 11:35  阿蒙不萌  阅读(5559)  评论(0编辑  收藏  举报