一、防抖动(Debouncing)
当持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,。
触发时候 有定时器 就清定时器 重新触发一个定时器
// 防抖 var timer = null; function fandou(fucntion(){},time){ if(timer){ clearInterval(timer) } timer = setTimeout(fn,time) }
二、节流阀(Throtting
保证一定时间段内只调用一次事件处理函数。
触发时候 有定时器 就返回
function jieliu(fn,time){ if(timer){ return } timer = setTimeout(function(){ clearInterval(timer) fn() },time) }