在用户一直在我的网站上的整个过程中,我都有一个setInterval函数在加载时运行。基本上,它的工作是逐步扫描window.innerWidth和window.outerWidth之间的差异(也就是它检测用户是否以100%缩放以外的任何其他方式查看网站),并对此进行补偿,因为我需要一个固定的对象缩小时居中对齐,但放大时居左对齐。现在,该功能每250毫秒运行一次。我要问的是,这对网页有何影响?

最佳答案

您应该阅读一篇名为How JavaScript Timers Work的文章。基本上,所有js代码都在事件循环内运行,并且所有事件处理程序都排队并尽快执行:


  为了了解计时器的内部工作原理,这里有一个
  需要探讨的重要概念:计时器延迟不是
  保证。由于浏览器中的所有JavaScript都在一个执行
  线程异步事件(例如鼠标单击和计时器)仅
  当执行中有空缺时运行。


有时甚至不执行计时器处理程序。在某些情况下,超时将过期两次,但解释器仅有机会运行一次处理程序,而丢弃其他排队的事件。

真的,读那篇文章是值得的。

07-24 09:44
查看更多