skip to content

JavaScript
节流 and 防抖

节流

const throttle = (callback, interval) => {
  let last = 0
  return (...args) => {
    let now = +new Date()
    if (now - last > interval) {
      last = now
      callback(...args)
    }
  }
}

立即执行回调

并在设置的时间间隔内无视回调

防抖

const debounce = (callback, delay) => {
  let timer = null
  return (...args) => {
    clearTimeout(timer)
    timer = setTimeout(() => callback(...args), delay)
  }
}

不会立刻执行回调

在设置的时间内没有重复执行 则执行回调