你会如何在控制台中终止无限循环(`setInterval`)?

时间:2018-05-15 20:13:47

标签: javascript firefox console

例如,我们可以运行



setInterval(function(){console.log("Hello, SO!")}, 2000);




Hello, SO!在终端中每两秒钟重复一次。 下图中有6个重复。

enter image description here

是否有按键组合或命令可以键入以停止控制台中的无限循环?

3 个答案:

答案 0 :(得分:2)

这是我所知道的最好的选择。

  trial not working
failService: undefined
response: [object Object]
    √ responds with json (125ms)


  1 passing (171ms)

答案 1 :(得分:2)

要杀死间隔,您需要一个句柄来传递给clearInterval()。在您的映像中,执行setInterval()后,您可以看到句柄以4491的形式返回到控制台。通过这种方式,您可以像这样杀死它:

clearInterval(4491);

或者(并且更好),您应该将该句柄返回给变量,以便您可以通过编程方式将其删除:

let interval = setInterval(() => console.log('Hello, SO!'), 2000);
clearInterval(interval);

编辑:
你也可以蛮力。句柄是一个int64数字,所以它可能是巨大的,但对于几乎任何应用程序,它都会很小,因为句柄递增。请注意,此方法可能会破坏依赖间隔的其他包。

for (var i = 1; i < 9999; i++) clearInterval(i);

答案 2 :(得分:0)

您可以使用here所述的暂停按钮停止当前页面上的脚本执行。这会暂停页面上的所有JS,而不仅仅是你的间隔。