程序员

js防抖节流实现

2020-06-23  本文已影响0人  一人创客

防抖:就是指触发事件后在n秒内函数只能执行一次,如果在n秒内又触发了事件,则会重新计算函数执行时间

 function debounce(fn, wait = 800) {
            let timmer = null;
            return function () {
                timmer && clearTimeout(timmer)
                timmer = setTimeout(() => {
                    fn()
                }, wait)

            }
        }

节流:就是指连续触发事件但是在一段事件中只执行一次函数

function debounce(fn, wait = 800) {
            let timmer = null;
            return function () {
                let now = !timmer
                timmer && clearTimeout(timmer)
                timmer = setTimeout(() => {
                    timmer = null
                }, wait)
                if (now) {
                    fn()
                }
            }
        }
上一篇下一篇

猜你喜欢

热点阅读