首页 > 其他 > 详细

防抖 | 节流

时间:2021-01-19 12:44:30      阅读:28      评论:0      收藏:0      [点我收藏+]

1 防抖 | debouce

函数防抖:在特定时间内,只执行一次

function debouce(fn, delay) {
    // 定义一个空变量
    let timer = null
    return function() {
        clearTimeout(timer)  // 持续触发清除定时器就不会触发了
        timer = setTimeout(() => {
            fn.apply(this, arguments)
        }, delay)
    }
}

2 节流 | throttle

函数节流:在特定时间后,重新执行一次

function throttle(fn, delay) {
    // 定义一个标志
    let flag = true
    return function() {
        if (!flag) {
            // 不执行
            return false
        }
        // 在特定时间内,设置标志不执行
        flag = false
        setTimeout(() => {
            fn()
            flag = true
        }, delay)
    }
}

防抖 | 节流

原文:https://www.cnblogs.com/0x29a/p/14296825.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!