防抖: 事件出發(fā)后n秒之后再執(zhí)行回調(diào),如果在n秒內(nèi)重復(fù)觸發(fā)那么,只會(huì)重新開始計(jì)時(shí)計(jì)算。
// 防抖
function dobounce(fn, dealy) {
let timer = null;
return function() {
if (timer) {
clearTimeout(timer);/// 主要是這里清除定時(shí)器 對(duì)比節(jié)流這里是直接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" />