2012-02-07 83 views
2

我一直在改变我的网站上的JavaScript如何工作,以使其更具响应性。我添加了这样的行:超时时间总是足够长吗?

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

是否总是有足够的超时0?有没有什么浏览器,这个伎俩不起作用?

+0

这是干什么的? – 2012-02-07 11:16:07

+0

我不确定这个技巧首先实现了什么? – 2012-02-07 11:16:09

+0

我认为这应该是在后台执行任务。 – 2012-02-07 11:17:05

回答

4

是的,这适用于每个浏览器。

但请注意,实际的延迟将在10毫秒左右。

对于那些不明白的人。这将清空调用堆栈,因为回调函数将被异步调用。此外,它还为程序提供了一些时间来“呼吸”,并执行其他事件或更新UI。