不知名情况下清空所有计时器

不知名情况下清空所有计时器

首先观察定时器创建时候的具名setInterval的值

console运行
var t = setInterval(()=>console.log(1),10000)
然后 t 回车
这时候 发现t是一个数字(本次是335)
并且会定时打印1
普遍清空当前定时器的方法是
clearInterval(t);
但是我们针对不同来源的定时器的时候不可能知道每个定时器名称和他的作用域
But!试试 clearInterval(335)
成功清除当前定时器。
也就是通过数字 可以定位所有具名定时器(测试得匿名定时器也是一样生成id)
这个范围是0~9999
同理timeout也一样
也就是 function clearAllInterval(){
for (var i = 1; i < 99999; i++) {
window.clearInterval(i);
window.clearTimeout(i); //去除延时器
}
}

当不同来源的定时器产生出bug不好处理时,不妨试试这个方式

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值