js定时器为什么是不精确的

因为 JavaScript 是一个单线程序的解释器,因此一定时间内只能执行一段代码。
为了控制要执行的代码,就有一个 JavaScript 任务队列。
这些任务会按照将它们添加到队列的顺序执行。
setTimeout() 的第二个参数告诉 JavaScript 再过多长时间把当前任务添加到队列中。如果队列是空的,那么添加的代码会立即执行;如果队列不是空的,那么它就要等前面的代码执行完了以后再执行

 

详细原理需要看任务循环(event loop),宏任务,微任务,后面博客再详细讲~~

 

 

 

嗯,就酱~~

猜你喜欢

转载自www.cnblogs.com/jin-zhe/p/13401280.html