首页 > 解决方案 > 使用 setTimeout(fn, 0) 和不使用的区别

问题描述

我有一个关于setTimeout函数的简单问题

我的功能:

function myFunc(){
   // some code here
}

什么时候不一样

我调用一个有和没有的函数setTimeout

myFunc();
setTimeout(function(){
   myFunc();
}, 0);

有人可以解释帮助我吗?谢谢你。

标签: javascriptsettimeout

解决方案


setTimeout等待给定的延迟,然后为其回调安排一个新任务。这就是为什么在脚本结束后记录 setTimeout 的原因,因为记录脚本结束是第一个任务的一部分,而 setTimeout 记录在单独的任务中。是的,我们差不多完成了,但我需要你在接下来的时间里保持坚强……</p>

任务是计划好的,因此浏览器可以从其内部进入 JavaScript/DOM 领域,并确保这些操作按顺序发生。在任务之间,浏览器可能会呈现更新。从鼠标点击到事件回调需要调度任务,解析 HTML 也是如此,在上面的示例中,setTimeout.

https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/


推荐阅读