美文网首页HTML+CSSjs基础JavaScript面试知识点
JavaScript面试考点之防抖和节流

JavaScript面试考点之防抖和节流

作者: 团子哒哒 | 来源:发表于2021-03-17 17:32 被阅读0次

    1、防抖

    防抖是指触发高频事件后固定周期后函数执行一次,如果固定周期内高频事件再次被触发,不执行动作,且周期重新设定,重新计算事件。防抖的含义就是让某个时间期限(如1000ms)内,事件处理函数只执行一次,如果在1000ms内再次触发事件,那么当前的计时取消,重新开始计时。

    适用场景:a、用户在输入框中连续输入一串字符后,只会在输入完后去执行最后一次的查询ajax请求,这样可以有效减少请求次数,节约请求资源。

    b、window的resize、scroll事件,不断地调整浏览器的窗口大小、或者滚动时会触发对应事件,防抖让其只触发一次。

    2、节流

    节流是指触发高频事件后固定周期内函数执行一次),如果固定周期内高频事件再次被触发,不执行动作,直到周期结束后触发才生效。节的含义就是让某个时间期限(如1000ms)内,事件处理函数只执行一次,如果在1000ms内再次触发事件,那么当前函数不会响应执行,直到1000ms结束,再有触发才执行。

    使用场景:resize scroll。连续不断地触发某事件(如点击),只在单位时间内只触发一次

    1)时间戳写法,第一次函数会立即执行

    2)定时器写法 第一次不立即执行,但最后一次也会延迟执行

    相关文章

      网友评论

        本文标题:JavaScript面试考点之防抖和节流

        本文链接:https://www.haomeiwen.com/subject/ugiscltx.html