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

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

适用场景

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

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

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

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

适用场景

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

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

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

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

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

// 直接使用
window.addEventListener('resize', debounce(handleResize, 300));
相关推荐
OpenTiny社区4 分钟前
太酷了!装上OpenTiny dsh‑genui这个插件,你的DeepSeek Harness点击就能干活了!
前端·ai编程
ModyQyW11 分钟前
vite-plugin-uni-pages 更新了什么
前端·uni-app
前端大卫30 分钟前
H5 渲染 PDF 并添加高亮的两种方案【附源码】
前端
因_崔斯汀1 小时前
用 AI 生成 Three.js 沉浸式网站,代码与 Skill 均已开源
前端·人工智能
葡萄城技术团队2 小时前
一键触发工作表中所有异步函数:用依赖单元格刷新 SpreadJS 公式
前端
Bigger2 小时前
谁动了我的 URL?——记一次微前端"灵异 Bug"的排查实录
前端·ai编程·vue-router
JavaGuide2 小时前
轻量开源版 IDEA 来了!
前端·后端
张洪权2 小时前
nest.js websocket 群聊----私聊功能
前端·nestjs
流光D2 小时前
AI Era: Building Web Sites and Configuring Nginx Reverse Proxy Process
前端·人工智能·nginx
sakidd2 小时前
VS Code 的 AI Chat 现在已经这么能干了?
前端