const debounce = function(foo, t) {
  let timer
  return function() {
  //判断是否是第一次执行,如果不是,清除上一次定时
    if (timer !== undefined) {
      clearTimeout(timer)
    }
    timer = setTimeout(() => {
    // 将this指向绑定到foo函数上
      foo.apply(this, arguments)              
    }, t)  
  }
}

调用:

debounce('你要防抖的那个按钮点击函数', '设置延时时间')

用 debounce 替换你原本的点击函数


Grace糖衣
15 声望2 粉丝

用于记录一些平时遇到的问题