十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
成都创新互联专注于企业全网整合营销推广、网站重做改版、白沙黎族网站定制设计、自适应品牌网站建设、H5响应式网站、电子商务商城网站建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为白沙黎族等各大城市提供网站开发制作服务。
这也是一个经典题目了,首先要知道什么是防抖,什么是节流。
防抖: 在一段时间内,事件只会最后触发一次。
节流: 事件,按照一段时间的间隔来进行触发。
实在不懂的话,可以去这个大佬的Demo地址玩玩防抖节流DEMO
// 防抖 function debounce(fn) { let timeout = null; return function () { // 如果事件再次触发就清除定时器,重新计时 clearTimeout(timeout); timeout = setTimeout(() => { fn.apply(this, arguments); }, 500); }; } // 节流 function throttle(fn) { let flag = null; // 通过闭包保存一个标记 return function () { if (flag) return; // 当定时器没有执行的时候标记永远是null flag = setTimeout(() => { fn.apply(this, arguments); // 最后在setTimeout执行完毕后再把标记设置为null(关键) // 表示可以执行下一次循环了。 flag = null; }, 500); }; }