当前位置: 代码迷 >> 综合 >> 防抖和节流的解释
  详细解决方案

防抖和节流的解释

热度:67   发布时间:2024-02-01 00:34:26.0

防抖和节流的个人观点 
1.防抖的话,是你不断的在动,是不会执行请求的,只有你静下来,不动了,才会执行请求
2.节流就是:是有原则的请求,请求触发一次之后,在规定时间内,不会触发请求,超过这个时间,如果你再点击,才会触发请求

所以说节流是有原则的呢

 

节流的代码

let eWrap=document.getElementById('wrap')function move(e){console.log(e,this)}function jieliu(fn,duration=10000){let timer=0;// 肯定返回的是一个函数return function(...args){// 这里面的this指向和外面的this一样,如果再嵌套一层就不一样了let _self=this// 如果timer 有值,就返回,否则往下执行if(timer){return;}fn.apply(_self,args);timer= setTimeout(function() {clearTimeout(timer)timer=0}, duration);					}}eWrap.addEventListener('mousemove',jieliu(move,5000))

 

 

防抖的代码

let eWrap=document.getElementById('wrap')function move(e){console.log(e,this)}function fangdou(fn,duration=2000){let timer=0return function(...args){let _self=this;// 如果还是在动的话,就不断的清理定时器clearTimeout(timer)timer=setTimeout(()=>{fn.apply(_self,args)},duration)}}eWrap.addEventListener('mousemove',fangdou(move,1000))

 

  相关解决方案