防抖和节流

每当监听input输入或者页面的onscroll,鼠标的onmouseover这些事件的频率非常高,但是如果我们在向后台发送数据时并不需要如此高的频率,毕竟浏览器的性能是有限,所有我们要加以优化

防抖:如果事件被频繁触发,防抖能保证只有最有一次触发生效!前面 N 多次的触发都会被忽略!

节流:如果事件被频繁触发,节流能够减少事件触发的频率,因此,节流是有选择性地执行一部分事件!

防抖(debounce)

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

好处:能够保证用户在频繁触发某些事件的时候,不会频繁的执行回调,只会被执行一次

使用场景:用户在输入框中连续输入一串字符时,可以通过防抖策略,只在输入完后,才执行查询的请求,这样可以有效减少请求次数,节约请求资源


定义个盒子


自定义防抖函数

节流( throttle )

可以减少一段时间内事件的触发频率 ,即当前函数没有执行完,不会进行后面的

使用场景:鼠标连续不断地触发某事件,懒加载时要监听计算滚动条的位置


自定义节流函数
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 概念 所谓函数的防抖和函数的节流,是一种优化程序性能的技术。主要应用于事件处理程序中 什么情况下需要使用防抖和节流...
    小呆呆008阅读 1,589评论 0 0
  • 无论是防抖还是节流都是为了避免回调函数中的处理随着连续触发事件每次都执行 防抖和节流都是为了防止函数(事件)的连续...
    peakol阅读 3,339评论 0 0
  • 在进行窗口的resize、scroll,输入框内容校验等操作时,如果事件处理函数调用的频率无限制,会加重浏览器的负...
    iqing2012阅读 4,266评论 0 1
  • 我演示的dome是基于vue框架的 1, 定义 防抖: 触发高频事件后n秒内函数只会执行一次,如果n秒内高频事件再...
    jasmine_6aa1阅读 2,953评论 0 1
  • 在上周的开发中,又遇到点击保存多次请求数据重复的问题,所以下来学习了一下js的防抖和节流。通过学习了解到,在进行窗...
    any_5637阅读 3,038评论 0 2

友情链接更多精彩内容