Javascript SetTimeout和ClearTimeout(在0时不清除)

Javascript SetTimeout和ClearTimeout(在0时不清除),javascript,Javascript,也许只是睡眠不足,但我不明白我做错了什么 我正在用setInterval调用countDown函数onLoad 在倒计时函数中,当数字达到0时,我调用clearTimeout,但当数字达到2时调用 我做错了什么 这里有一个片段 var区间,计数=5; 倒计时 间隔=设置间隔(倒计时,1000); 函数倒计时(){ document.body.innerHTML=计数 计数-- 如果(计数==0){ 清除间隔(间隔) document.body.innerHTML=“重定向到…” } }这是因为

也许只是睡眠不足,但我不明白我做错了什么

我正在用
setInterval
调用
countDown
函数
onLoad

倒计时
函数中,当数字达到0时,我调用
clearTimeout
,但当数字达到2时调用

我做错了什么

这里有一个片段

var区间,计数=5;
倒计时
间隔=设置间隔(倒计时,1000);
函数倒计时(){
document.body.innerHTML=计数
计数--
如果(计数==0){
清除间隔(间隔)
document.body.innerHTML=“重定向到…”
}

}
这是因为您正在先减小计数器,然后进行计算,因为这1步遗漏了

var区间,计数=5;
倒计时();
间隔=设置间隔(倒计时,1000);
函数倒计时(){
如果(计数==0){
清除间隔(间隔)
document.body.innerHTML=“重定向到…”
}
其他的
{
document.body.innerHTML=计数
计数--
}

}
这是因为您正在先减小计数器,然后进行计算,因为这1步遗漏了

var区间,计数=5;
倒计时();
间隔=设置间隔(倒计时,1000);
函数倒计时(){
如果(计数==0){
清除间隔(间隔)
document.body.innerHTML=“重定向到…”
}
其他的
{
document.body.innerHTML=计数
计数--
}
}
只需将
计数--
放在if语句之后,然后返回

var区间,计数=5;
倒计时
间隔=设置间隔(倒计时,1000);
函数倒计时(){
document.body.innerHTML=计数;
如果(计数==0){
间隔时间;
document.body.innerHTML=“重定向到…”;
返回;
}
计数--
}
只需将
计数--
放在if语句之后,然后返回

var区间,计数=5;
倒计时
间隔=设置间隔(倒计时,1000);
函数倒计时(){
document.body.innerHTML=计数;
如果(计数==0){
间隔时间;
document.body.innerHTML=“重定向到…”;
返回;
}
计数--

}
我可以在4分钟内接受。天哪,我今天觉得自己很笨。上次我尝试编码3天不睡觉。虽然这段代码可以回答这个问题,但提供关于如何和/或为什么解决这个问题的附加上下文将提高答案的长期价值。我将能够在4分钟内接受。天哪,我今天觉得自己很笨。上一次我尝试编码3天不睡觉。虽然这段代码可以回答这个问题,但提供关于如何和/或为什么解决这个问题的额外上下文将提高答案的长期价值。
function countDown() {
  document.body.innerHTML = count;
  if(count === 0) {
    clearInterval(interval)
    document.body.innerHTML = "Redirecting to .....";
  } else {
    count--;
  }
}