每日前端面试题-防抖和节流

防抖:事件被触发后,等待一段时间再执行函数,等待期间事件再次触发,需要重新计时。

适用场景

  • 搜索框输入(等待用户输入完成后才进行搜索请求)

  • 窗口大小调整(等待用户调整完成后才重新计算布局)

  • 表单验证(输入完成后才验证,而非每输入一个字符就验证)

节流:在一段时间内,函数最多执行一次,即使事件被频繁触发,也会按照固定频率执行

适用场景

  • 滚动事件(如滚动加载更多)

  • 鼠标移动事件(如跟随鼠标位置的元素)

  • 频繁点击按钮(如防止重复提交)

实际开发中常用 Lodash 的现成方法:

javascript 复制代码
import { debounce, throttle } from 'lodash';

// 直接使用
window.addEventListener('resize', debounce(handleResize, 300));
相关推荐
阿眠17 小时前
前端面试题
前端
清风徐来QCQ17 小时前
SpringMvC
前端·javascript·vue.js
Smoothzjc17 小时前
👉 求你了,别再裸写 fetch 做 AI 流式响应了!90% 的人都在踩这个坑
前端·人工智能·后端
沛沛老爹17 小时前
Web开发者进阶AI:Agent技能设计模式之迭代分析与上下文聚合实战
前端·人工智能·设计模式
yong999017 小时前
基于MATLAB的大变形悬臂梁求解程序
前端·数据库·matlab
Swift社区17 小时前
ArkTS Web 组件里,如何通过 javaScriptProxy 让 JS 同步调用原生方法
开发语言·前端·javascript
小和尚敲木头17 小时前
记录一次vue3中this引发的开发没有问题,生产发生问题的分析
前端·vue
TttHhhYy18 小时前
小记,antd design vue的下拉选择框,选项部分不跟着滑动走,固定在屏幕某个部位,来改
前端·vue.js·sql
小二·18 小时前
Python Web 全栈开发实战教程:基于 Flask 与 Layui 的待办事项系统
前端·python·flask