函数防抖

防抖: 事件出发后n秒之后再执行回调,如果在n秒内重复触发那么,只会重新开始计时计算。

//   防抖
  function dobounce(fn, dealy) {
    let timer = null;
    return function() {
      if (timer) {
        clearTimeout(timer);/// 主要是这里清除定时器  对比节流这里是直接return
      }
      timer = setTimeout(() => {
        fn.apply(this, arguments);
        timer = null;
      }, dealy);
    };
  }
  let input1 = document.getElementById("input1");
  input1.addEventListener(
    "keyup",
    dobounce(() => {
      console.log(input1.value);
    }, 5000)
  );
  <input type="text" id="input1" />
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。