【发布时间】:2012-04-11 16:02:27
【问题描述】:
刚刚在我们的应用程序中找到了这个代码-sn-p。我想知道第一行是否是多余的——如果变量立即被覆盖,是否需要对变量调用 clearTimeout?或者有什么我应该注意的情况?
function Countdown() {
clearTimeout(sessionTimeoutHandle);
sessionTimeoutHandle = setTimeout(function () { countdownHandler() }, MILLISECONDS);
}
我的预感是“是的,你需要调用 clearTimeout”,因为我想不出如果可以将 timeout 变量设置为 null,为什么 clearTimeout 方法会存在。
我想更好的问题是:
var timeoutHandler = setTimeout(countdownHandler, MILLISECONDS);
timeoutHandler = setTimeout(countdownHandler, MILLISECONDS);
我现在有两个函数等待大约 MILLISECONDS 触发,还是只有一个?
【问题讨论】:
-
setTimeout(function () { countdownHandler() }, ...)是多余的,除非这只是为了说明。应该是setTimeout(countdownHandler, ...)。 -
是的,你是对的。在完全清理代码之前解决基本问题。 :) 不过谢谢。
-
第一次setTimeout之前sessionTimeoutHandle是如何初始化的?
标签: javascript settimeout