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