函数防抖和函数节流的简单实现

函数防抖

将时间间隔较短的一组操作,归并为一个操作。

// fn 需要处理的函数
// t 时间
function debounce(fn, t=500){
    let timer = null;
    return function(){
      timer&&clearTimeout(timer);
      timer = setTimeout(fn, t)
    }
}

函数节流

保证函数以均匀规整的时间间隔执行。

function throttle(fn, t=500){
    let canRun = true;
    return function(){
      if(!canRun){return};
      canRun = false;
      setTimeout(function(){
        fn();
        canRun = true;
      }, t)
    }
}

你可能感兴趣的:(函数防抖和函数节流的简单实现)