js 实现 debounce防抖、throttle节流

实现防抖(一般用于输入框搜索)

说明:在调用debounce函数后1000毫秒后才会回调,1000毫秒内再次调用将延时回调。

var clearTime;
function debounce(callback,time = 1000){
    clearTimeout(clearTime);
    clearTime = setTimeout(function(){
        callback();
    },time);
}

实现节流(一般用网站抢购、抢票)

说明:1000毫秒内不管调用多少次throttle函数都只会回调一次

var allow = true;
function throttle(callback,time = 1000){
    if(!allow) return false;
    allow = false;
    setTimeout(function(){
        allow = true;
        callback();
    },time);
}

 

你可能感兴趣的:(面试题,防抖,节流)