Js实现防抖和节流


函数节流和防抖的实现      

   防抖和节流的作用都是防止函数多次调用。

   区别在于,假设一个用户一直触发这个函数,且每次触发函数的间隔小于wait,防抖的情况下只会调用一次,而节流的 情况会每隔一定时间(参数wait)调用函数。

1.防抖实现:每次触发事件时都取消之前的延时调用方法

//

2.节流实现:每次触发事件都判断当前是否有等待执行的延时函数  

//

高频事件触发,但在n秒内只会执行一次,所以节流会稀释函数的执行频率

函数节流和防抖的实现      

    防抖和节流的作用都是防止函数多次调用。

    区别在于,假设一个用户一直触发这个函数,且每次触发函数的间隔小于wait,防抖的情况下只会调用一次,而节流的 情况会每隔一定时间(参数wait)调用函数。

     1.防抖实现:每次触发事件时都取消之前的延时调用方法

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 //

       2.节流实现:每次触发事件都判断当前是否有等待执行的延时函数  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 //

        高频事件触发,但在n秒内只会执行一次,所以节流会稀释函数的执行频率