老师为什么这里定时器关不上

来源:3-12 箭头函数的应用

WYW265672

2022-05-15 22:56:16

      const timer = {
        time: 0,
        start: function () {
          // this
          // var self = this;
          var that = this;
          btn.addEventListener(
            'click',
            function () {
            // 老师这里设表先关不起作用
              var t;
              clearInterval(t);
              t=setInterval(function () {
                console.log(this);  //window
                console.log(that);  // timer对象
                // this.time++;
                // result.innerHTML = this.time;
                that.time++;
                result.innerHTML = that.time;
              }, 1000);
            },
            false
          );
        }
      };
      
 timer.start();


写回答

1回答

好帮手慕慕子

2022-05-16

同学你好,因为每次点击按钮的时候都会重新创建一个变量t,此时的t是新建的,并不是之前开启的定时器,所以无法清除。

可以在点击事件外声明变量t,示例:

https://img.mukewang.com/climg/6281b48f09cc01ae07400545.jpg
祝学习愉快~

0

0 学习 · 17877 问题

查看课程