闭包问题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个自执行函数,保存当时的值到内部
本文仅提供参考,是本人闲时所写笔记,如有错误,还请赐教,作者:阿蒙不萌,大家可以随意转载