gpt4 book ai didi

javascript 设置间隔

转载 作者:可可西里 更新时间:2023-11-01 01:28:57 24 4
gpt4 key购买 nike

一个问题。如果我以这种方式使用 setInterval:

setInterval('doSome();',60000);

doSome() 函数每 60 秒触发一次是否安全,即使我在浏览器中更改选项卡也是如此?

最佳答案

将字符串传递给setInterval 是可以的,这是使用setInterval 的两种方式之一,另一种是传递函数指针。与其他答案状态一样,它在任何方面都没有错,但效率不高(因为必须重新解析代码),也不是您的目的所必需的。两者

setInterval('doSome();', 60000); // this runs doSome from the global scope
// in the global scope

setInterval(doSome, 60000);      // this runs doSome from the local scope
// in the global scope

是正确的,尽管它们的含义略有不同。如果 doSome 对于某个非全局范围是本地的,则从同一范围内调用后者将以 60000 毫秒的间隔运行本地 doSome。调用前面的代码会一直在全局范围内寻找doSome,如果全局范围内没有doSome函数就会失败。

无论选项卡焦点如何,该功能都会以至少 60000 毫秒的间隔可靠地触发,但由于开销和延迟,通常会稍长一些。

所有浏览器都会将间隔值限制在至少一个特定值,以避免间隔太频繁(我认为至少是 10 毫秒或 4 毫秒之类的,我记不太清了)。

请注意,某些浏览器(即将推出的 Firefox 5 就是其中之一,但可能还有其他我不知道的浏览器)进一步将 setInterval 大幅限制为例如如果选项卡未获得焦点,则为 1000 毫秒。 ( Reference )

关于javascript 设置间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5801543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com