这个问题与JavaScript中的setTimeout方法有关。零秒后调用setTimeout中的另一个函数会有什么好处吗?像这样,
setTimeout(func, 0);
我问的原因是因为我注意到某些插件/库中的代码行类似(例如,在swipejs中检出offloadFn函数)。它是支持某种浏览器不兼容还是只是编写代码的坏方法,我应该完全忽略它?我很想知道是否有某种好处。感谢您提前的时间。
答案 0 :(得分:2)
JavaScript是单线程的,因此它一次只能做一件事。当调用setTimeout时,如果超时为0ms,则告诉引擎尽快安排执行该函数。这通常是在您当前的调用堆栈完成执行之后。
它实际上是一种调度工作以异步执行的方式。
有关详细信息,请参阅here。