当您关闭浏览器选项卡时,JavaScript 计时器会立即清理吗?

Jas*_*ans 6 javascript memory dispose timer

假设我通过以下方式创建了一个计时器:

setTimeout()

(或者我正在使用setInterval()

当计时器滴答作响时,在它到期之前,我决定关闭正在执行该代码的浏览器选项卡。浏览器是否会在此时自动清理计时器(考虑到我没有在此时调用clearTimeout())全部)?

我想知道代码是否有可能在内存中停留足够长的时间,以便在达到超时值时仍然可以执行代码。或者关闭选项卡是否意味着计时器从内存中擦除,因此调用的函数setTimeout()将永远不会被执行。

Pin*_*nal 6

setIntervalsetTimeout是全局上下文(通过window对象)方法。然后您关闭选项卡或窗口,所有上下文都将删除。然后您打开新选项卡/窗口,所有上下文都会创建。