关闭浏览器选项卡时,是否会立即清除JavaScript计时器?

时间:2014-01-17 09:17:16

标签: javascript memory timer dispose

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

setTimeout()

(或我正在使用setInterval()

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

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

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

setInterval()方法将继续调用函数,直到调用clearInterval()或窗口关闭。同样适用于setTimeout()。关闭后3秒钟,你可以给安置门打开窗户。点击并关闭。你会看到那个窗口不会弹出来。

<强> See This

答案 2 :(得分:1)

SetInterval()和SetTimeout()都是浏览器内置的调度程序。这允许在给定的时间段之后设置函数调用以执行。

可以通过clearTimeout()方法或关闭浏览器窗口取消SetTimeout()。

SetInterval()方法与setTimeout具有相同的功能。可以通过clearInterval调用停止。

setTimeout / setInterval中使用的函数也在内部引用并跟踪直到完成,然后清理。