js 如何判断一个console或者一个值连续执行了两次以上

consol.png

如图所示,输出的dragleave旁边有个②,我该怎么判断到这种情况出现呢

阅读 491
评论
    6 个回答
    • 768

    打个断点,debugger 一下,你就知道为什么会输出两次了。

      console.log('delagve', (function(){window.__test = window.__test || 1; if(__test++ === 2){debugger;}})());

        往右边看会有定位到所在的文件行数,或者也可以全局搜索console.log(dragleave)

          作用域外加一个变量,初始化值是0
          在执行console的地方,对这个值加1
          判断如果这个值大于1,就是console所在的函数被执行了多次

          i=0;
          function test(){
              i+=1;
              console.log(123)
          }
          test()
          test()
          test()
          console.log(i)

            加个时间戳做前缀

              这个输出两次,大概率应该是这个事件被绑定了两次,在页面上操作一次,就会出现两次。可以在绑定这个事件的代码上打个断点,dubgger判断下是否绑定了两次。这样就可以帮助你找到问题所在了。

              // 关注下本人小网站:www.feiaci.com

                撰写回答

                登录后参与交流、获取后续更新提醒