本文主要是介绍【JavaScript】在循环体中了解定时器工作机制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
for (var i = 0; i < 5; i++) {setTimeout(function() {console.log(i);}, 1000);
}console.log(i);
如果我们约定,用箭头表示其前后的两次输出之间有 1 秒的时间间隔,而逗号表示其前后的两次输出之间的时间间隔可以忽略,代码实际运行的结果该如何描述?会有下面两种答案:
- A. :5 -> 5 -> 5 -> 5 -> 5,即每个 5 之间都有 1 秒的时间间隔;
- B. :5 -> 5,5,5,5,5,即第 1 个 5 直接输出,1 秒之后,输出 5 个 5;
这就要求对 JS 中的 定时器工作机制 非常熟悉,循环执行过程中,几乎同时设置了 5 个定时器,一般情况下,这些定时器都会在 1 秒之后触发,而循环完的输出是立即执行的,显而易见,正确的描述是 B。
这篇关于【JavaScript】在循环体中了解定时器工作机制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!