「前端学习」关于防抖

2020-05-13  本文已影响0人  iaiayao

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

节流,就是指连续触发事件但是在 n 秒中只执行一次函数。

很多人写防抖就套上个setTimeOut,然后对这个定时器也没有啥处理,其实只是推迟了执行时间,对触发频率好像没有什么作用
做防抖的时候 如果不执行函数 setTimeOut是要清掉的
最简单的防抖,大概如下这段

function debounce(func, wait) {
    var timeout;
    return function () {
        clearTimeout(timeout)
        timeout = setTimeout(func, wait);
    }
}

参考知识:https://mp.weixin.qq.com/s/Os3sqPiFvjycCYxfdnfaJA

上一篇下一篇

猜你喜欢

热点阅读