我使用计时器在1分钟后调用一个函数。
var timer = setTimeout(function() {
console.log("timer trigger");
}, 10000);
clearTimeout(计时器); 清除计时器,删除计时器; 返回 false 。
为什么删除不适用于计时器?
答案 0 :(得分:4)
delete timer;
实际上不会做任何事情,因为您只能删除对象属性。 timer
不是对象属性,因此无法删除。 (从技术上讲,它是窗口对象的属性,但Javascript种类除非您指定window.timer
,否则您无法删除顶级变量)。当delete返回false
时,表示没有要删除的内容。
您设置的超时是函数引用。这是需要删除的内容,而不是setTimeout
返回的整数。只有运行时环境(浏览器)知道如何通过其id删除该函数引用,这是从setTimeout
返回的内容。