2020年3月9日
《每日一题系列🚀》
作者:王二狗
博客:掘金、思否、知乎、简书、CSDN
点赞再看,养成习惯,每日一题系列会一直更新下去,你们的支持是我持续分享的最大动力😘
什么是函数防抖?
所谓函数防抖,就是说任务频繁触发的情况下,只有任务触发的间隔超过指定间隔的时候,任务才会执行.
为了更方便你的理解,这里举一个快递员送餐的例子。
如果快递员在送餐的时候一次只送一单,这个时候显然效率就会非常的低,那么为了提高效率,我们制定了这样一个规则。
他在接到一个订单的时候会等上5分钟,如果在这5分钟之内有新的订单,他就会再等上5分钟。
那么什么时候不等了呢,开始去送餐呢?
就是当他等待的时间超过了5分钟还是没有新的订单,他就不等了,就开始去送餐。
下面我们用实际的代码模拟一下这个过程:
function deliveryFood(){}
//设置定时器
var timeId = null
//点下按钮之后,快递员接到第一单
button.onclick = function(){
//如果有新的订单,就清除之前的定时器,再等上5分钟
if(timeId){
window.clearTimeout(timeId)
}
timeId = setTimeout(()=>{
//如果5分钟之内没有新的订单,就开始去送餐,并清楚定时器
deliveryFood();
timeId = null
},5000)
}
告诫自己,即使再累也不要忘记学习,成功没有捷径可走,只有一步接着一步走下去。 共勉!
文章中如有不对的地方,欢迎小伙伴们多多指正。
谢谢大家~ 💘
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。