发布网友 发布时间:2022-05-15 14:29
共1个回答
热心网友 时间:2022-05-15 15:58
闭包也需要变量存储的,还记得js的变量的寻值原理没
for(var i = 0 ; i < 10 ; i++){追问能更详细的解释一下你的代码吗??新手表示能力有限,看不懂。。。。。。。
追答 for(var i = 0 ; i < 10 ; i++){//这是你的循环
(function(i){
var _i = i;//这里是你要存储的变量
function outFun(){
//我用setTimeout来延迟触发是为了向你证明即使是一个另一个作用域和JS的函数回调队列的情况依然能引用到变量
setTimeout(function(){
console.log(_i);//这里是向浏览器终端显示你存储的变量
},16)
}
return outFun;//返回这个函数
})(i)//这个括号是执行闭包
();//这个括号是执行outFun函数
}