一.手写防抖
以输入框为例
// 快速多次触发事件的回调函数时,只执行最后一次触发回调的业务逻辑
document.queryselector('input').addEventList('input',debounce(function(){
...业务逻辑
},delay))
// 利用闭包封装一个debounce函数
function debounce(fn,delay){
let timeID = null
return function(){
clearTimeout(timeID)
timeID = setTimeout(()=>{
fn.call(this)
},delay)
}
}