我对setTimeout
函数有一个简单的问题
我的功能:
function myFunc(){
// some code here
}
什么时候有
我调用带有和不带有setTimeout
的函数:
myFunc();
setTimeout(function(){
myFunc();
}, 0);
有人可以帮助我吗?谢谢。
答案 0 :(得分:1)
setTimeout
等待给定的延迟,然后安排新任务进行回调。这就是为什么setTimeout在脚本结束后记录的原因,因为记录脚本结束是第一个任务的一部分, setTimeout将记录在单独的任务中。是的,我们几乎已经完成了这一步,但我需要您在接下来的这段时间内保持坚强……
任务已计划好,因此浏览器可以从内部访问JavaScript / DOM,并确保这些操作顺序发生。在任务之间,浏览器可以呈现更新。从鼠标单击进入事件回调需要进行任务调度,就像解析HTML一样,在上例中为setTimeout
。
https://jakearchibald.com/2015/tasks-microtasks-queues-and-schedules/
答案 1 :(得分:0)
setTimeout(,0)将在所有当前队列完成后调用,并且 普通函数调用首先进入队列。
您可以在这里看到:
function myFunc1(){
console.log("In myFunc1");
}
function myFunc2(){
console.log("In myFunc2");
}
setTimeout(function(){
myFunc1();
}, 0);
myFunc2();