setTimeout解决循环值的几种方法

for(var i=0;i<5;i++){
setTimeout(function(){
console.log(`错误 ${i}`);
},0)
}

for(var i=0;i<5;i++){
(function(i){
setTimeout(function(){
console.log(`闭包 ${i}`);
},0)
})(i);
}

for(let i=0;i<5;i++){
setTimeout(function(){
console.log(`let ${i}`);
},0)
}

for(var i=0;i<5;i++){
setTimeout(function(i){
console.log(`bind ${i}`);
}.bind(null,i),0)
}

for(var i=0;i<5;i++){
setTimeout(function(i){
console.log(`参数 ${i}`);
},0,i)
}

---------------------
作者:似梦飞花
来源:CSDN
原文:https://blog.csdn.net/zzgzzg00/article/details/79427875
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2018-11-13 19:59  xfcao  阅读(1266)  评论(0编辑  收藏  举报