js中用setInterval会影响页面的性能吗?


前提是我正确地使用setInterval clearInterval 不会出现定时器叠加及无限循环。

如果会影响页面性能,请大神讲下理由,谢谢!

性能优化 前端 前端性能 HTML JavaScript

╲午夜秣班車 9 years, 5 months ago

首先, setInterval 接收的参数就有值得注意的地方,其实 setInterval 第一个参数是可以给 字符串 的。如果给的是字符串,这个时候就会多一个解析的过程,而不是直接执行。而且如果是字符串函数,是得不到jit优化的。其它的性能问题就是看你函数的复杂度了.

df600a answered 9 years, 5 months ago

看每次操作的执行耗时与定时间隔的比有多大

Mr.Hao answered 9 years, 5 months ago

setInterval本身并不会影响页面的性能,之所以会让人感觉到setInterval会影响页面性能很有可能是因为不恰当的使用setInterval导致页面无响应或者内存消耗过大。

  1. 比如死循环,导致页面无响应

  2. 频繁的操作dom元素,使页面不断的repait或者reflow导致很大的资源消耗

  3. 在setInterval中不合理的使用闭包导致对象没有被回收等。

草泥马骑士 answered 9 years, 5 months ago

看你应用场景了,如果不是频繁的去增删dom节点,性能应该不会影响太多。setInterval 也是在cpu空闲时去执行的。

风鸟院花月 answered 9 years, 5 months ago

Your Answer