什么是函数节流?什么是函数防抖?

56 阅读1分钟

什么是函数节流?什么是函数防抖?

 函数节流:一个函数执行一次后,只有大于设定的执行周期后才会执行第二次。

 - 有个需要频繁触发函数,出于优化性能角度,在规定时间内,只让函数触发的第一次生效,后面不生效。

/// 节流函数

     // fn. 要被节流的函数

     // delay  规定的时间


   Function throttle(fn,delay){

        // 记录上一次函数触发的时间

        var lastTime = 0;

        return function(){

        // 记录当前函数触发的时间

        var nowTime = Date.now();

        if(nowTime - lastTime > d){

        // 修正this 指向问题

        fn.call(this);

        // 同步时间

        lastTime = nowTime;

          }

        }

   }

//防抖函数 : 一个需要频繁触发的函数,在规定时间内,只让最后一次生效,前面的不生效。

Function debounce(fn,delay){

    // 记录上一次的延时器

    Var timer = null;

    // 重新设置新的延时器

    timer = setTimeout(function () {

        fn.apply(this);

    },delay)

}