函数节流和函数防抖

----函数节流 是指js代码在一定时间内只执行一次,类似于人眨眼

----函数防抖  是指频繁触发的情况下,只要有空闲时间,代码才会执行,类似于上公交车,只要有人刷卡,司机就不会开车,直到没人刷卡,司机才会开车

函数节流

  多数情况下会在监听页面滚动事件时会用到,因为滚动事件是频繁触发

  

  函数节流的要点是,有一个标志位,记录当前代码是否在执行,空闲时正常触发执行,如果正在执行,则直接return

    上面的代码中,方法的作用就是监视trottle滚动事件 ,canRun=true时,说明当前正在空闲,可以正常执行,当进入if语句时,canRun的状态发生变化,此时正在执行,其他方法无法执行,

  再用setTimeout方法来设置时间间隔执行完毕后才允许其他方法进入

函数防抖

  函数防抖的应用,大多数是在注册时手机验证,当用户输入完之后,前端才会进行验证,不正确弹出提示语

  

  函数防抖要点:需要setTimeout来帮助实现,延迟需要执行的代码

  如果代码多次触发,则把上次未执行的clearTimeout清除掉,重新开始

  如果计时完毕,没有其他方法进入,则执行代码

原文地址:https://www.cnblogs.com/haloqq/p/10541031.html