第6章“高性能JavaScript”的“响应式界面”由Nicholas C. Zakas撰写,关于Timer Precision的内容如下:
Windows系统上的计时器分辨率为15毫秒,这意味着 它会将定时器延迟15解释为0或15,具体取决于 系统时间最后一次更新时。设置定时器延迟更少 超过15可以导致Internet Explorer中的浏览器锁定,所以 建议的最小延迟是25毫秒(最终会延迟为 15或30)确保延迟至少15毫秒。
这里的“浏览器锁定”是什么意思?这是否意味着广泛使用的方法setTimeout(task, 0)
将任务移动到UI线程队列的末尾可以使IE挂起?
答案 0 :(得分:3)
setTimeout运行你的任务一次,我认为这不会导致锁定。
我对您的图书摘要的解释是,他指的是重复的执行,例如setInterval。如果你设置代码每0毫秒执行一次,那么,我可以看到IE有问题。
答案 1 :(得分:0)
我一直在使用它,不,我没有遇到任何问题。它允许浏览器为其渲染线程使用时隙,这在某些情况下实际上非常有用。