我在某处读到setInterval占用大量CPU的信息。我创建了一个使用setInterval的脚本,并监视了CPU使用率,但没有发现任何变化。我想知道是否有什么我想念的。
代码要做的是每100毫秒检查一次URL中的哈希值(#后面的内容)是否更改,如果更改了,请使用AJAX加载页面。如果未更改,则什么都不会发生。会不会有CPU问题。
我认为不会setInterval从本质上引起您严重的性能问题。我怀疑这种声誉可能来自更早的时代,当时CPU的功能不那么强大。
setInterval
但是,有一些方法可以提高性能,并且这样做可能是明智的:
不要过早地进行优化-在没有问题的情况下,不要让自己生活困难。
但是,在特定情况下可以做的一件事是在支持onhashchange事件的浏览器中使用事件,而不是超时。
onhashchange