防抖:用户触发时间过于频繁只要最后一次操作!
let inp =document.querySelector("input");
inp.oninput=debounce(function () {
console.log(this);//如果下面不加fn.call(this) 此时this指向window
},500);
//fn(自己的逻辑代码) delay多少毫秒执行一次
function debounce(fn, delay) {
let tem = null;//闭包保存变量
return function () {
if (tem !== null) {
clearTimeout(tem);
}
tem = setTimeout(() => {
console.log(this);//指向调用
fn.call(this);//改变fn指向
}, delay);
}
}