首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将循环中的迭代添加到事件队列中?

如何将循环中的迭代添加到事件队列中?
EN

Stack Overflow用户
提问于 2018-08-20 05:36:42
回答 1查看 49关注 0票数 1

我已经尝试理解下面这段代码有一段时间了:

for (var i = 0; i < 5; i++) {
    setTimeout(function() {
        console.log(i);
    });
}

我有一个想法,为什么它会产生输出:

5
5
5
5
5

我只是想澄清一下我对JavaScript中事件循环是如何工作的理解。

是不是每次迭代都会在setTimeout运行之前在事件循环中创建一个事件?

我知道在默认情况下,setTimeout函数使用0作为其milliseconds值,但它只保证将该方法添加到事件队列的最短时间。

迭代是否在setTimeout之前添加到事件队列中?

[0] => [1] => [2] => [3] => [4] => [console.log]

谢谢

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51922031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档