美文网首页
JS封装一个防抖函数与节流函数

JS封装一个防抖函数与节流函数

作者: Thesand | 来源:发表于2020-08-16 15:16 被阅读0次

    防抖函数

    // 防抖
    function debounce(fn, delay = 500) {
        // timer 是闭包中的
        let timer = null
        return function () {
            if (timer) {
                clearTimeout(timer)
            }
            timer = setTimeout(() => {
                fn.apply(this, arguments) 
                timer = null
            }, delay)
        }
    }
    

    节流函数

    // 节流
    function throttle(fn, delay = 100) {
        // timer 是闭包中的
        let timer = null
        return function () {
            if (timer) {
                return
            }
            timer = setTimeout(() => {
                fn.apply(this, arguments)
                timer = null
            }, delay)
        }
    }
    

    相关文章

      网友评论

          本文标题:JS封装一个防抖函数与节流函数

          本文链接:https://www.haomeiwen.com/subject/mrwtjktx.html