手写防抖函数

61 阅读1分钟

一.手写防抖

以输入框为例

//  快速多次触发事件的回调函数时,只执行最后一次触发回调的业务逻辑

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)
        }
    }