美文网首页
函数的节流与防抖

函数的节流与防抖

作者: 悲伤逆流成河09 | 来源:发表于2017-12-20 11:13 被阅读0次

如果一个事件频繁触发多次,并且两次事件相隔事件比较短,则防抖函数使得对应的处理事件只触发一次。

```

functiondebounce(fn, delay) {

    let timer=null

    return    function() {

        clearTimeout(timer)

        timer = setTimeout(() => {

            fn()

        }, delay)

    }

}

```

如果一个事件频繁触发多次,节流函数可以按照固定频率执行相应的处理事件

```

    function throttle(fn, threshold) {

        let timer

        let startTime = Date.now()

        return function() {

            let endTime = Date.now()

            clearTimeout(timer)

            if((endTime - startTime) >= threshold) {

                fn()

                startTime = endTime

            } else {

                timer = setTimeout(() => {

                fn()

            }, threshold)

        }

    }

}

```

相关文章

网友评论

      本文标题:函数的节流与防抖

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