JS——setTimeout()用作倒计时为什么会有误差?

由于JS引擎的事件循环机制,使得 setTimeout 和 setInterval 指定的回调函数,必须等到本轮事件循环的所有同步任务都执行完后,并检查是否到了指定时间,如果到了才会开始执行。因此不能保证指定的任务,一定会按照预定时间执行。

同理,setTimeout( f, 0) 也不会立即执行,只是提前了在任务队列的顺序

猜你喜欢

转载自blog.csdn.net/huaf_liu/article/details/115447881