手写防抖和节流函数

46 阅读1分钟

防抖:

function debounce(fn,delay){
 let timer = null
 return function(...args){
  if(timer){
    clearTimeout(timer)
  }
  timer = setTimeout(()=>{
    fn.apply(this,args)
  },delay)
 }
}

节流:

function throttle(fn,delay){
  let prevTime= Date.now()
  return function(...args){
  if(Date.now()-prevTime >= delay){
     fn.apply(this,args)
     prevTime = Date.now()
   }
  }
}