JS 防抖和节流

防抖:也就是防止用户手抖,多点了几下 节流:为了节省流量,用户点击了很多下,在规定的时间里,我只处理一下

防抖事例:

  let date = new Date();
  function fn() {
    if (new Date() - date < 1000) return // 1秒内不可再次点击
    date = new Date()
    console.log(‘点击成功’)
  }
  btn.onclick(function(){
    fn()
  })

节流事例:

  let date = new Date();
  let date2 = 0;
  function fn() {
    if (date2 - date < 1000) return // 1秒内不可再次点击
    date2 = new Date() // 与防抖相比,多了这一步
    date = new Date()
    console.log(‘点击成功’)
  }
  btn.onclick(function(){
    fn()
  })
  • 防抖和节流实现方式几乎差不多。
  • 使用以上函数前提,防抖节流对比:
  • 如果你在 3s 内快速点击按钮,
  • 防抖:3 秒内只会触发一次
  • 节流:3 秒内会触发两次