我在某处读到 setInterval 是 CPU 密集型的。我创建了一个使用 setInterval 的脚本并监视 CPU 使用情况,但没有注意到变化。我想知道是否有什么我错过的事情。
该代码的作用是每 100 毫秒检查 URL 中的哈希值(# 后的内容)是否发生更改,如果发生更改,则使用 AJAX 加载页面。如果它没有改变,则什么也不会发生。会不会有CPU问题。
我不认为setInterval
本质上会导致严重的性能问题。我怀疑这种声誉可能来自较早的时代,当时 CPU 的功能还不够强大。
然而,有一些方法可以提高性能,而且这样做可能是明智的:
- 将函数传递给
setInterval
,而不是字符串。
- 设置尽可能少的间隔。
- 使间隔持续时间尽可能长。
- 让每次运行的代码尽可能短和简单。
不要过早优化——不要在没有问题的时候为自己制造困难。
但是,在您的特定情况下您可以做的一件事是使用onhashchange
在支持事件的浏览器中,而不是超时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)