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

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

适用场景

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

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

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

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

适用场景

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

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

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

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

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

// 直接使用
window.addEventListener('resize', debounce(handleResize, 300));
相关推荐
牧码岛19 分钟前
Web前端之JavaScrip中的Array、Object、Map和Set详解
前端·javascript·web·web前端
Bigger20 分钟前
😮‍💨 有了 AI 之后,我怎么感觉反而更累了?
前端·aigc·ai编程
Dxy123931021621 分钟前
HTML中使用Canvas动态图形渲染:解锁Web交互新维度
前端·html·图形渲染
西陵23 分钟前
如何实现 Claude 生成式 UI?一套可落地的工程方案
前端·人工智能·ai编程
FlyWIHTSKY23 分钟前
Vue 3 + 原生 CSS Float
前端·css·vue.js
energy_DT29 分钟前
2026海上钻井平台可视化运维:红外热成像、超声波、AI视频巡检、数字孪生
前端
ONLYOFFICE29 分钟前
如何将 Word 集成到 Web 应用程序? 5 种方法详解与对比
前端·word·onlyoffice
533_31 分钟前
[pinia] vue3中监听pinia值的变化
前端·javascript·vue.js
AlenLi32 分钟前
JavaScript - 相对实用的Axios二次封装
前端·javascript
漫游的渔夫34 分钟前
前端开发者做 Agent:Tool Calling 别只写函数名,用 Schema 少踩 5 个坑
前端·人工智能·typescript