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

最佳答案

这取决于。

如果使用多个计时器并启动和结束某个计时器,则最好将其设置为零,因为它仅包含计时器的ID,从setInterval开始:


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


并根据clearInterval


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


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

关于javascript - 是否需要在clearInterval(id_of_setinterval)之后将id_of_setinterval变量设置为null?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40869259/

10-14 15:27