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

consol.png

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

阅读 5.7k
6 个回答

打个断点,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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题