JS 防抖和节流


//节流:只在一段时间内执行一次操作,过了这个时间后继续执行新的操作
function throttle(fn,delay){
  let timer=null
  return function(){
    if(timer){
      return
    }
    timer=setTimeout(() => {
      fn()
      timer=null
    }, delay);
  }
}

//防抖 :当持续触发事件,在一段时间内只会执行最后一次触发
function debounce(fn,delay){
  let timer=null
  return function(){
    if(timer){
      clearTimeout(timer)
    }
    timer=setTimeout(() => {
      fn.apply(this,arguments)
    }, delay);
  }
}