前端-防抖和节流的原理及具体实现

154 阅读1分钟

一、什么是防抖和节流

防抖和节流本质上都是为了解决事件被频繁触发的问题,防止页面卡顿,优化前端性能。

防抖(debounce):在任务高频触发的时候,只有触发间隔超过指定间隔时间,任务才会执行。

n秒后再执行,如果在n秒被重新触发,则重新计时。

节流(throttle):在指定间隔时间内只执行一次。

n秒内只执行一次,若在n秒内重复触发,只有一次生效。

二、应用场景

防抖的应用场景

  • 搜索框输入,只有当用户输入完成之后,再发送请求
  • 窗口大小resize,等待窗口调整完成后,计算窗口大小。防止重新渲染

节流的应用场景

  • 点击提交按钮,在n秒内只触发一次,防止多次提交。
  • 搜索框,搜索联想功能。

三、具体代码实现

暂时技术太菜。实现不了。后续可以再补充吧😭😭😭 希望有大佬帮忙实现😄😄😄