码迷,mamicode.com
首页 > 其他好文 > 详细

防抖与节流

时间:2019-04-07 22:23:36      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:定时   清空   计时器   his   nts   执行   inter   arguments   时间   

  • 节流 throttle 在指定的时间间隔内只执行一次function
  • 防抖 debounce 只有当时间超过指定的时间间隔后才会触发function`

节流函数

function throttle(fn, interval = 300) {
    let flag = true;
    return function () {
        if (!flag) return; //在定时器间隔时间触发前,不会触发
        flag = false;
        setTimeout(() => {
            fn.apply(this, arguments);
            flag = true;
        }, interval);
    };
}

防抖函数

function debounce(fn, interval = 300) {
    let timeout = null;
    return function () {
        clearTimeout(timeout); //在间隔时间内触发,会清空计时器
        timeout = setTimeout(() => {
            fn.apply(this, arguments);
        }, interval);
    };
}

用途

节流:滚动条滚动时增加判断逻辑

防抖:用户在input框内输入名称

防抖与节流

标签:定时   清空   计时器   his   nts   执行   inter   arguments   时间   

原文地址:https://www.cnblogs.com/wynnzen/p/10667234.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!