for循环里面定时器打印一直最后一个

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


setTimeout(function(){

    console.log(i)

},i*1000)

}


这样一直打印10


我知道用let可以


其他的写法帮忙写下 比如闭包 递归


慕哥9229398
浏览 432回答 1
1回答

MMMHUHU

闭包:for (var i = 0; i < 10; i++) {&nbsp; &nbsp; (function(j) {&nbsp; &nbsp; &nbsp; &nbsp; setTimeout(function() {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; console.log(j);&nbsp; &nbsp; &nbsp; &nbsp; }, j * 1000)&nbsp; &nbsp; })(i);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript