今天有个同事在做清除setTimeout时,发现在另一个函数中clearTimeout后发现timer变量并没有变化

于是我写了下面的demo:

<html>
        <input onclick="myAlert()" type="button" value="清除" />
</html>
<script  type="text/javascript">
  var timer = setTimeout(function() {
    console.log(11111);
  }, 1000);
  console.log(timer);
  function myAlert() {
    clearTimeout(timer);
    console.log(timer);
  }
</script>

结果发现

也就是说clearTimeout并不是置空变量的操作,如果你想清除那么

1if(!!intervalld){...}此类函数来判断是否正在执行定时器,就有用了。

2clearTimeout后,timer设置null是为了清除变量,

Logo

前往低代码交流专区

更多推荐