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