.
/** * @param {fn} * @param {time} 时间间隔ms * @param {isRun} 是否立即执行:true false * @return {*} */
/**
* 防抖
*/ function fangdou(fn, time, isRun){ let timer = null; return function(arg){ if(timer){ clearTimeout(timer) }else{ isRun && fn(arg) } timer = setTimeout(()=>{ timer = null; fn(arg) }, time) } }
/** * 节流 */ function jieLiu(fn, time, isRun){ let timer = null; return function(arg){ if(!timer){ isRun && fn(arg) timer = setTimeout(()=>{ timer = null; isRun || fn(arg) }, time) } } }