(1)函数防抖debounce

函数触发停止一段时间后(期间不能再触发 debounce,否则将重新计时),再执行回调函数

机制:

防抖函数主要利用定时器的延迟执行特性,根据是否有定时器在等待执行:

  • 触发了一个事件后:如果有一个定时任务待执行,就清除定时器,重新计时。
  • 如果没有任务待执行,就定时执行这个事件。

#应用场景:

  1. 表单的连续点击,防止重复提交。比如重复发送一篇文章。
  2. 类百度的搜索,连续输入等输入停止后再搜索。
  3. 一直拖动浏览器窗口,只想触发一次事件等。

(2)函数节流throttle

规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行(单位时间内有事件被多次触发则,只生效一次)。
节流函数根据时间差是否超过给定时间(gapTime)来决定是否触发回调。

应用场景:

  1. 自动保存草稿功能,当用户在输入的时候(一直触发事件),单位时间内只保存一次草稿。
  2. 游戏中的刷新率

(3)对比

作用和本质:

  • 防抖函数和节流函数主要解决的问题是:防止函数”短时间“的重复执行。

  • 它们本质上是:在时间轴上控制函数的执行次数。

#应用实例,需要加个括号:

因为返回debouncethrottle返回的是一个函数,所以如果不是自动执行的事件监听回调,我们应该再后面加个(),执行返回的闭包函数。

.

最新文章

  1. 添加APNS通知
  2. Stream 和 byte[] 之间的转换
  3. Python的第三天
  4. IOS高德地图逆地理编码定位+网络判断
  5. django自带wsgi server vs 部署uwsgi+nginx后的性能对比
  6. CF700C (枚举+tarjan)
  7. 谈谈作为一个菜B的培训感受
  8. laravel观察者模式
  9. MFC入门教程01 Windows编程基础
  10. jquery实现点击进行跳转后,改点击的元素添加选中的效果
  11. Jmeter Boss系统login
  12. TDD最佳实践
  13. 10/03/2019 PCL-1.8.1 Ubuntu 16.04 boost 1.69 CUDA 9.0 installation
  14. es6 语法 (symbol)
  15. centos7【防火墙】常用规则
  16. 2018SDIBT_国庆个人第四场
  17. JavaBean递归拷贝工具类Dozer
  18. Java文件复制删除操作合集
  19. ASP------字符串与HTML格式相互转换
  20. MyBatis 延迟加载 加载时机

热门文章

  1. unordered_map / HashTable 的负载因子是什么意思
  2. VARIANT、 _variant_t、CComVariant、COleVariant、CDBVariant
  3. vue click.stop阻止点击事件继续传播
  4. 安装Django、Nginx和uWSGI
  5. d3.js 入门指南
  6. WPF特点
  7. 关于ConfigurationSection自定义config的简单使用
  8. Python操作MySQL的一些坑
  9. ProcessExplorer 工具下载
  10. 2019/12/11学习内容摘要(Linux系统用户与用户组管理①)