防抖和节流的理解

  • 1.防抖

  1.1 什么是防抖?

  在事件被触发n秒后再执行回调函数,如果在这n秒内又被触发,则重新计时。

  比如你乘坐电梯,如果十秒钟之内有人进入或者出去,那么十秒钟就会重新开始计时,直到十秒之内都不在有人流动才会关门

  1.2 应用场景

    用户在input框中输入文字,用户在输入完文字后才调用函数,而不是输入一个字符调用一次函数

    window中resize、scroll事件,调整窗口大小和滚轮滚动,只调用一次函数

  1.3实现

    使用定时器,并且每一次触发函数都会重置定时器,在定时器结束后,调用函数

  • 2.节流

    2.1什么是节流?

      规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次,只有一次能生效。

    2.2应用场景

      鼠标连续点击或者滚动页面,单位时间只调用一次

    2.3实现

      触发事件时,设置一个定时器,再次触发事件时,判断定时器是否存在,若存在就不执行,若不存在则执行。这样就保证了规定时间内再怎么频繁触发事件,也都执行一次

posted @ 2021-12-23 16:28  xxxXxxccccc  阅读(65)  评论(0)    收藏  举报