前端学习——Js实现防抖、节流函数

本文探讨了前端开发中的两种重要优化技术——防抖(debounce)和节流(throttle)函数。防抖函数用于限制事件处理的频率,确保在用户连续操作后的一段指定时间内只执行一次,常用于输入框搜索请求。节流函数则确保在一定时间内函数只执行一次,适用于滚动事件、窗口调整等场景。通过手动实现这两种函数,可以更好地理解和应用它们,提升网页性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 防抖函数(debounce)

功能:当事件被触发N秒之后再执行回调,如果在N秒内被触发,则重新计时。

比如一个输入框,当应用实现防抖函数之后,用户不断输入内容时,函数会一直被触发,则不会发送请求。只有当用户在一段规定时间N内未进行输入操作,才会发送一次请求。如果在N秒内间断的输入内容,且间断的时间小于规定时间N时,则会重新计时且不会发送请求。
这样降低了发送请求的次数,提高性能的同时也提升了用户体验。

手写实现防抖函数:

// func是用户传入需要防抖的函数
// wait是等待时间,若不传参,默认50ms
// 因为闭包,timer将一直在内存中
const debounce = (func, wait = 50)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值