1.节流:个人理解,有点限制触发频率的意思,话不多说,上代码
// 节流 function jieliu(){ var now = Date.now() if (now - lasttime>500){ // 你自己的处理逻辑 console.log(jieliu) lasttime = now // 改变上次执行的时间 } }
由代码分析,首先需要一个变量记录上次执行的时间,然后对比现在的时间,判断是否大于某个区间,符合条件的才执行,最后别忘了改变执行时间哦
上面的代码逻辑完美对应节流这个名称
2.防抖:个人理解,按表面意思是防止用户手抖点多,上代码
function fangdou(){ clearTimeOut(timeid) // 每次执行这个逻辑的时候先清除之前的定时任务 timeid = SetTimeOut(()=>{ console.log("防抖") },500) }
由代码分析,核心在于每次执行逻辑前要先清除之前的定时任务。