美文网首页
防抖与节流

防抖与节流

作者: townYouth | 来源:发表于2021-08-28 09:45 被阅读0次

防抖:通过setTimeOut的方式,在一定时间间隔内,将多次触发变成一次触发

function debounce (fn, wait = 1000) {
  var timer = null
  return function () {
    if (timer) {
      clearTimeout(timer)
    } else {
      fn.apply(this, arguments)
    }
    timer = setTimeout(() => {
      timer = null
    }, wait)
  }
}

节流:减少一段时间的触发频率

function throttle (fn, delay = 1000) {
  var begin = 0
    return function () {
      const cur = Date.now()
      if (cur - begin > delay) {
        fn.apply(this, arguments)
        begin = cur
      }
    }
}

相关文章

网友评论

      本文标题:防抖与节流

      本文链接:https://www.haomeiwen.com/subject/oskbiltx.html