关于setTimeout的一个机制
在 JavaScript 中,setTimeout 是一种宏观任务,而宏观任务的数据结构是队列,它的特点就是 先进先出。
但是,浏览器会根据时间线程来控制队列的执行的顺序。
例如:
1 |
|
上述代码执行顺序:
- 执行任务 2
- 1 秒后执行任务 1
由此我们可得,遇到 setTimeout,先把里面的函数放在浏览器的定时间线程里,等时间到了,浏览器会把对应的函数再加到当前程序执行的队列里。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!