节流 和 防抖

75 阅读1分钟

防抖

防抖函数的作用是单位时间至只行最后一次,如果有操作则取消上一次的操作,以最新操作为准,简单实现

//防抖方法
      function debounce(fn,time) {
        let timer = null;
        return function () {
          if (timer) {
            clearTimeout(timer);
          }
          timer = setTimeout(() => {
            fn.apply(this, arguments);
          }, time);
        };
      }

节流

节流函数的作用是单位时间内只执行一次操作

//节流方法
      function throttle(fn) {
        let timer = null;
        return function () {
          if (timer) {
            return;
          }
          timer = setTimeout(() => {
            fn.apply(this, arguments);
            timer = null;
          }, 1000);
        };
      }