setInterval 指定 ID 号

Dus*_*ilk 3 javascript setinterval

由于超出我的原因,我正在寻找一种方法来创建具有特定 ID 的 setInterval 。

例如:

当您创建 setInterval 并将其分配给变量时,如下所示:

var myInterval = setInterval(function(){..},100);
Run Code Online (Sandbox Code Playgroud)

myInterval 实际上等于一个数字。

因此,当您清除间隔时,您可以转到clearInterval(myInterval),或使用它等于的数字。

myIntertval === 9;
clearInterval(9);
Run Code Online (Sandbox Code Playgroud)

我怎样才能使 myInterval === 20. 从而给我的 setInterval ID 为 20.

有可能吗?或者我只是很傻,应该以正确的方式做每件事。

Pab*_*ano 6

有可能吗?或者我只是很傻,应该以正确的方式做每件事。

您应该以正确的方式进行(拥抱重构!)。话虽如此,您可以通过将任何 ID“映射”到另一个值来修复它,只需将其存储在一个对象中:

var myIntervals={};
myIntervals[0]=setInterval(function(){..},100);
myIntervals[20]=setInterval(function(){..},100);
myIntervals["hello"]=setInterval(function(){..},100);
Run Code Online (Sandbox Code Playgroud)

然后你将存储如下内容:

{ 0: <ID_first interval>,
  20: <ID_another_interval>,
  hello: <<ID_another_interval_more>
}
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

clearInterval(myIntervals[requiredId]);
Run Code Online (Sandbox Code Playgroud)