为什么这段代码输出结果是十个10呢?

for(i=0;i<10;i++){
    setTimeout("console.log(i)",0);
}

为什么输出结果是十个10呢?还有,前面先输出的304是什么?每次输出那个值都不一样。

https://img4.mukewang.com/5bc599b1000149c702280076.jpg

慕标琳琳
浏览 685回答 1
1回答

慕哥6287543

为什么输出结果是十个10呢?setTimeout是异步的,在这里,当for循环结束之后才开始执行队列中的代码,那for结束之后&nbsp;i是多少呢? 10.解决方法是闭包,这篇文章有详细解读你的例子前面先输出的304是什么?timeoutID: 标示当前的计时器,可以用于清除该定时器&nbsp;window.clearTimeout(timeoutID)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript