经常忘记闭包的具体用法,写个例子给以后参考:
没用闭包:
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
时间: 2024-10-10 01:11:15