Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在控制台中终止无限循环(`setInterval`)?_Javascript_Firefox_Console - Fatal编程技术网

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

Javascript 如何在控制台中终止无限循环(`setInterval`)?,javascript,firefox,console,Javascript,Firefox,Console,例如,我们可以跑步 setInterval(function(){console.log(“Hello,SO!”)},2000)据我所知,这是你最好的选择 var interval = setInterval(() => console.log("hello, world"), 2000); clearInterval(interval); 您可以使用所述的“暂停”按钮停止当前页面上的脚本执行。但这将暂停页面上的所有JS,而不仅仅是您的间隔。要终止间隔,您需要将它们的句柄传递到clea

例如,我们可以跑步


setInterval(function(){console.log(“Hello,SO!”)},2000)据我所知,这是你最好的选择

var interval = setInterval(() => console.log("hello, world"), 2000);
clearInterval(interval);

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

要终止间隔,您需要将它们的句柄传递到
clearInterval()
。在您的图像中,执行
setInterval()
后,您可以看到句柄返回到控制台,显示为
4491
。这样,你就可以这样杀死它:

clearInterval(4491);
或者(更好的是),您应该将该句柄return分配给变量,以便以编程方式终止它:

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

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

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

如果您没有对间隔的引用,您最好点击
F5
刷新页面,或者清除每个可能的间隔(因为浏览器给了它们数字ID):
for(var i=1;i<99999;i++)clearInterval(i)
。或者只使用您在控制台中看到的ID:
clearInterval(4491)
@blex在哪里记录了句柄?我检查了mdn,它看起来像是一个
int32
,但我在句柄本身上找不到文档。在HTML标准规范中,它们只将其称为一个。在specs实现中,他们使用了@blex,谢谢。因此,这可能是一个非常大的数字,但可能不会,因为它们是递增的。