经常忘记闭包的具体用法,写个例子给以后参考:
没用闭包:
for(var i = 0; i < 100; i++){
setTimeout(function(){
console.log(i)},1000
)
}结果1s后显示100个100
使用闭包:
for(var i = 0; i < 100; i++){
(function(i){
return (function(i){
setTimeout(function(){console.log(i)},1000)
})(i)
})(i)
}结果1s后显示0-99
本文出自 “雪飘七月” 博客,请务必保留此出处http://xuepiaoqiyue.blog.51cto.com/4391594/1675406
原文:http://xuepiaoqiyue.blog.51cto.com/4391594/1675406