当我们使用 SetInterval 返回的值调用 clearInterval 时,它会使该值变为 null 还是未定义。
我正在调用 clearInterval 来清除 setInterval 但显然 setInterval 的值保持不变,即使在调用 clearInterval 之后也不会改变。t 应该是 null 还是 undefined ?这是我的代码片段
var setIntervalId; // declared in global scope
//lined of code
function autorefresh() {
if (statesCount > 0) {
setIntervalId = setInterval(function() {
//lines of code
// calling some handler
}, 30000);
}
if (statesCount === 0) {
clearInterval(setIntervalId);
}
}
如您所见,我每 30 秒调用一次 setInterval 函数,第一次调用时会为 setIntervalId 分配一些值,但即使在调用 clearInterval 之后,该值仍然存在。调用 clearInterval 后它应该变为 null 还是 undefined?如果它应该为 null 或 undefined 我应该在这里做什么。我已经在全局范围内定义了 setIntervalId。