是否有必要在clearInterval(id_of_setinterval)之后将id_of_setinterval变量设置为null?

时间:2016-11-29 15:10:41

标签: javascript

var id_of_setinterval = setInterval(function(){}, 2000)

if(id_of_setinterval) {
    clearInterval(id_of_setinterval);
    id_of_setinterval = null; //Does it necessary? Why?
}

我真的不知道为什么写这个代码。

在我看来,我认为将id_of_setinterval设置为null 不必要

1 个答案:

答案 0 :(得分:0)

取决于。

如果您使用多个计时器并启动和结束某个计时器,那么最好将其设置为零,因为它只保留计时器的ID,来自setInterval

  

返回的timeoutID是一个非零值的数字,用于标识通过调用setInterval();创建的计时器。此值可以传递给Window.clearInterval()以取消超时。

根据{{​​3}}

  

值得注意的是,setInterval()setTimeout()使用的ID池是共享的,这意味着您可以在技术上交替使用clearInterval()clearTimeout()。但是,为清楚起见,您应该避免这样做。

如果只使用一个计时器和一个变量,则无需将id设置为零。