閉包問題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個自執行函數,保存當時的值到內部


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM