经常忘记闭包的具体用法,写个例子给以后参考:


没用闭包:

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