Javascript 设置超时时间为零秒
这个问题与JavaScript中的setTimeout方法有关。零秒后在setTimeout内调用另一个函数有什么好处吗?这样,Javascript 设置超时时间为零秒,javascript,settimeout,Javascript,Settimeout,这个问题与JavaScript中的setTimeout方法有关。零秒后在setTimeout内调用另一个函数有什么好处吗?这样, setTimeout(func, 0); 我之所以问这个问题,是因为我注意到某些插件/库中有类似的代码行(例如,swipejs中的DFN函数)。它是为了支持某种浏览器不兼容,还是仅仅是编写代码的糟糕方式,我应该完全忽略它?我想知道是否有某种好处。提前感谢您的时间。JavaScript是单线程的,因此一次只能做一件事。使用0ms timeout调用setTimeou
setTimeout(func, 0);
我之所以问这个问题,是因为我注意到某些插件/库中有类似的代码行(例如,swipejs中的DFN函数)。它是为了支持某种浏览器不兼容,还是仅仅是编写代码的糟糕方式,我应该完全忽略它?我想知道是否有某种好处。提前感谢您的时间。JavaScript是单线程的,因此一次只能做一件事。使用0ms timeout调用setTimeout时,您告诉引擎尽快安排该func的执行。这通常是在当前调用堆栈完成执行之后 异步执行是一种有效的调度工作的方法
有关更多详细信息,请参阅。它用于以非阻塞方式调用函数。因此,
setTimeout
之后的每个函数调用都会立即执行,而setTimeout(func,0)
中的func
在有可用资源的情况下(有点像并行的低优先级线程)会异步执行。。太棒了!!我学到了很多!!:)