js 工具函数 防抖

防抖

debounce(f, ms) 装饰器的结果是一个包装器,该包装器将暂停对 f 的调用,直到经过 ms 毫秒的非活动状态(没有函数调用,“冷却期”),然后使用最新的参数调用 f 一次,
常用input输入或是滚动条滚动等方面

function debounce(handle, time) {
        let timeout = null;
        return function (e) {
          //清除上一次setTimeout
          if (timeout) {
            clearTimeout(timeout);
          }
          timeout = setTimeout(function () {
            handle.apply(this, arguments);
          }, time);
        };
      }

效果如下

原文地址:https://www.cnblogs.com/heihei-haha/p/14656522.html