防抖节流函数生成器

免费在线防抖节流函数生成器。一键生成JavaScript debounce和throttle函数代码,支持leading/trailing选项和maxWait配置。无需注册,代码不上传服务器。 | 无需注册 · 数据绝不上传服务器

零依赖·可离线使用

⚡ 防抖节流函数生成器 零依赖·可离线

免费在线防抖节流函数生成器。一键生成JavaScript debounce和throttle函数代码,支持leading/trailing选项和maxWait配置。无需注册。

等待生成...
快捷键: Ctrl+Enter 生成 | Ctrl+Shift+C 复制 | Ctrl+Shift+X 清空

防抖节流函数生成器能做什么?

防抖节流函数生成器是一款免费在线工具,帮助前端开发者快速生成JavaScript debounce和throttle函数代码。无需手写复杂的定时器逻辑,配置参数即可生成生产级代码。纯前端处理,代码不上传。

核心功能

  • 防抖/节流双模式:一键切换debounce和throttle,生成对应实现
  • leading/trailing选项:控制首次和末次执行行为,满足不同场景需求
  • maxWait支持:节流模式支持最大等待时间,防止长时间不执行
  • 自定义函数体:可输入实际业务逻辑,生成即用代码
  • 零依赖:生成代码无任何外部依赖,ES5+兼容

使用教程

  1. 选择模式:根据需求选择防抖或节流
  2. 设置参数:输入函数名、延迟时间、选项
  3. 输入函数体:可选输入实际业务代码
  4. 生成代码:点击生成按钮,复制代码到项目
  5. 调用函数:用生成的包装函数替代原始调用

应用场景

场景1:搜索输入防抖

用户输入搜索词时,等待停止输入300ms后再发送API请求,避免每次按键都请求。

场景2:滚动事件节流

监听scroll事件时,每16ms最多执行一次,保证60fps流畅度。

场景3:窗口resize防抖

窗口大小变化时,等用户停止调整后再重新计算布局,避免频繁重排。

扩展知识

防抖和节流是前端性能优化的两大核心手段。Lodash的_.debounce和_.throttle是最流行的实现,但引入整个lodash会增加包体积。本工具生成的代码是零依赖的独立实现,功能完整且体积小。requestAnimationFrame也可用于视觉更新的节流,但不适合通用场景。

❓ 常见问题

防抖(debounce)和节流(throttle)有什么区别?

防抖:在连续触发后等待一段时间才执行,如果期间再次触发则重新计时。适合搜索输入、窗口resize。节流:在指定时间间隔内最多执行一次,不管触发多少次。适合滚动事件、鼠标移动。

leading和trailing选项是什么?

leading:是否在等待期开始时立即执行一次。trailing:是否在等待期结束后执行最后一次。默认防抖trailing=true,节流leading=true。

maxWait参数有什么用?

maxWait是节流函数的选项,设置最大等待时间。即使持续触发,超过maxWait也会强制执行一次,防止函数长时间不被调用。类似lodash的throttle实现。

生成的代码可以直接使用吗?

可以。生成的代码是纯JavaScript,无任何依赖,可直接复制到项目中使用。支持ES5+语法,兼容所有现代浏览器。

什么场景用防抖?

搜索框输入联想、表单验证、窗口resize处理、按钮防重复点击、自动保存等场景。核心是'等用户停止操作后再执行'。

什么场景用节流?

滚动事件处理、鼠标移动追踪、拖拽更新、游戏循环、API轮询等场景。核心是'固定频率执行,不超频'。

防抖节流函数生成器 | 无需注册 · 数据绝不上传服务器

问题反馈: dexshuang@google.com