ES6防抖及节流的方法

ES6提供了防抖函数和节流函数来控制函数的执行频率。

  1. 防抖函数(Debounce):在一定时间内,只执行最后一次触发的函数。

```javascript

function debounce(func, delay) {

let timer;

return function (...args) {

clearTimeout(timer);

timer = setTimeout(() => {

func.apply(this, args);

}, delay);

};

}

```

使用示例:

```javascript

function handleInput() {

console.log('Input changed');

}

const debouncedHandleInput = debounce(handleInput, 500);

document.getElementById('input').addEventListener('input', debouncedHandleInput);

```

  1. 节流函数(Throttle):在一定时间内,固定间隔执行函数。

```javascript

function throttle(func, limit) {

let inThrottle;

return function (...args) {

if (!inThrottle) {

func.apply(this, args);

inThrottle = true;

setTimeout(() => {

inThrottle = false;

}, limit);

}

};

}

```

使用示例:

```javascript

function handleScroll() {

console.log('Scrolling');

}

const throttledHandleScroll = throttle(handleScroll, 500);

window.addEventListener('scroll', throttledHandleScroll);

```

这两个函数可以帮助我们优化一些需要控制函数执行频率的场景,比如输入框输入验证、滚动事件处理等。

相关推荐
1***Q78412 分钟前
前端在移动端中的离线功能
前端
星环处相逢16 分钟前
Nginx 优化与防盗链及扩展配置指南
服务器·前端·nginx
2501_9418868624 分钟前
多语言微服务架构下的微服务熔断与限流优化实践
javascript
tsumikistep25 分钟前
【前后端】Vue 脚手架与前端工程结构入门指南
前端·javascript·vue.js
在繁华处29 分钟前
JAVA实战:文件管理系统1.0
java·开发语言·前端
GISer_Jing38 分钟前
SSE Conf大会分享支付宝xUI引擎:AI时代的多模态交互革命
前端·人工智能·交互
Aerelin44 分钟前
爬虫playwright中的资源监听
前端·爬虫·js·playwright
WordPress学习笔记1 小时前
专业建外贸网站公司推荐
大数据·前端·人工智能
fruge1 小时前
前端简历优化:如何突出项目亮点与技术深度(附示例)
前端
华仔啊1 小时前
Vue3 + Element Plus 动态菜单实现:一套代码完美适配多角色权限系统
前端·vue.js