美文网首页
js节流与防抖

js节流与防抖

作者: 中华小灰灰 | 来源:发表于2022-03-02 18:49 被阅读0次

    节流:防止频繁执行某函数,两次执行需要间隔时间(比如滚动)
    防抖:防止多次发生,重复执行(比如按钮重复提交数据)

    // 重点是使用闭包锁住变量的值
    // 防抖
    function debounce(fn, wait) {
      var timer = null
      return function() {
        if(timer) clearTimeout(timer)
        setTimeout(fn, wait)
      }
    }
    // 节流
    function throttle(fn, delay) {
      var prev = Date.now()
      return function() {
        var context = this,
          args = arguments,
          now = Date.now();
        if(now - prev >= delay) {
          fn.apply(context, args)
          prev = Date.now()
        }
      }
    }
    

    相关文章

      网友评论

          本文标题:js节流与防抖

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