可解释AI(XAI)落地实战:从金融风控到医疗影像的四类工程化方案
2026/6/18 19:16:21
在前端开发中,防抖(Debounce)和节流(Throttle)是两种用于优化高频率触发事件(如滚动、窗口缩放、键盘输入)的技术。它们的核心目的都是为了减少函数执行次数,从而提高页面性能,避免浏览器卡顿。
概念:在事件被触发 n 秒后再执行回调。如果在这 n 秒内事件又被触发,则重新计时。
概念:规定在一个单位时间内,只能触发一次函数。如果在这个单位时间内触发了多次事件,只有**第一次(或最后一次)**生效。
| 特性 | 防抖 (Debounce) | 节流 (Throttle) |
|---|---|---|
| 核心思想 | 只要你一直触发,我就一直不执行。只看最后一次。 | 无论你触发多快,我都按固定频率执行。细水长流。 |
| 触发点 | 事件停止触发一段时间后执行。 | 事件触发期间,每隔一段时间执行一次。 |
| 主要目的 | 减少由于连续触发带来的不必要执行。 | 均匀分布执行过滤,控制流量。 |
functiondebounce(fn,delay){lettimer=null;returnfunction(...args){if(timer)clearTimeout(timer);// 如果有计时器,直接清除并重新开始timer=setTimeout(()=>{fn.apply(this,args);},delay);};}functionthrottle(fn,delay){letlastTime=0;returnfunction(...args){letnow=Date.now();if(now-lastTime>delay){// 只有当前时间与上次执行时间间隔大于 delay 才执行fn.apply(this,args);lastTime=now;}};}