setTimeout与循环闭包

for(var i = 0;i<5; i++){

setTimeout(function(i){
console.log(i)
},i*1000,i);
}


for(var i = 0;i<5; i++){

(function(i){
setTimeout(function(){
console.log(i)
},i*1000);
})(i)
}

for(var i = 0;i<5; i++){

setTimeout((
function(i){
return function(){
console.log(i)
}
}
)(i),i*1000);
}

原文地址:https://www.cnblogs.com/xmhu/p/6799969.html