javascript clearInterval() 函数不工作

javascript clearInterval() function is not working

   var a = 0;

window.addEventListener("keydown", function(e) {
 
  clearInterval(interval) //this dont work
  var interval = setInterval(function() { //this is good
    if (a == 0) {
      console.log(a);
      a = 10;
    } else if (a == 10) {
      console.log(a);
    }
  }, 120)
})

//我希望当用户按下键间隔停止时,新间隔再次开始但旧间隔不能停止

你有两个问题。

  • 您的函数 var interval 中,因此每次函数运行时它都会重置
  • setTimeout 将在一段时间后调用一次函数。它不会清除间隔,为此你需要 clearInterval