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); }; }
效果如下