zonglang / code

平时写的代码练习
1 stars 0 forks source link

for循环中闭包的常见解法 #5

Open zonglang opened 5 years ago

zonglang commented 5 years ago

常见for循环作用域问题

调用函数,创建函数作用域

for(var i = 0;i < 5;i++){
func(i)
}
function func(i){
setTimeout(function(){
console.log(i)
},200)
}

使用立即执行函数,创建函数作用域

for(var i = 0;i < 5;i++){
(function(j){
setTimeout(function(){
console.log(j)
},200)
})(i)
}

使用let声明变量,创建块级作用域

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