JS-函数节流封装
函数节流[throttle]
函数节流也是优化⾼频率执⾏js代码的⼀种⼿段
js arguments可以减少⾼频调⽤函数的执⾏次数
函数节流作⽤
减少代码执⾏次数, 提升⽹页性能
函数节流应⽤场景
oninput / onmousemove / onscroll / onresize等事件
函数节流和函数防抖区别
函数节流是减少连续的⾼频操作函数执⾏次数 (例如连续调⽤10次, 可能只执⾏3-4次)函数防抖是让连续的⾼频操作时函数只执⾏⼀次(例如连续调⽤10次, 但是只会执⾏1次)
function throttle(fn, delay){
let timerId =null;
let flag =true;
return function(){
if(!flag)return;
flag =false;
let self =this;
let args = arguments;
timerId &&clearTimeout(timerId);
timerId =setTimeout(function(){
flag =true;
fn.apply(self, args);
}, delay ||1000);
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。