我使用计时器在 1 分钟后调用函数。
var timer = setTimeout(function() {
console.log("timer trigger");
}, 10000);
clearTimeout(timer); 清除计时器并删除计时器; 返回false。
为什么删除不能与计时器一起使用?
最佳答案
delete timer;
实际上不会执行任何操作,因为您只能删除对象属性。 timer
不是对象属性,因此无法删除。 (从技术上讲,它是 window 对象的一个属性,但 Javascript 指定除非您分配 window.timer
,否则您无法删除顶级变量)。当删除返回 false
时,意味着没有任何内容可删除。
您设置的超时是一个函数引用。这就是需要删除的内容,而不是 setTimeout
返回的整数。只有运行时环境(浏览器)知道如何通过其 id 删除该函数引用,这是从 setTimeout
返回的内容。
关于javascript - JS -clearTimeout 与删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30389426/