309

问答题 309 /501

给出以下代码,输出的结果是什么?原因?


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

setTimeout(function(){

console.log(i);

},1000);

}

console.log(i)

参考答案

参考回答:

在一秒后输出5个5

每次for循环的时候setTimeout都会执行,但是里面的function则不会执行被放入任务队列,因此放了5次;for循环的5次执行完之后不到1000毫秒;1000毫秒后全部执行任务队列中的函数,所以就是输出5个5。