前端节流与防抖

本文介绍了前端开发中常见的性能优化技巧——防抖(debounce)和节流(throttle)。防抖技术用于限制事件处理的频率,确保在用户停止操作后一段时间执行,适用于搜索联想和窗口resize等场景。而节流则是控制事件触发的频率,例如在滚动事件中判断是否滑到底部,确保不会频繁执行。通过这两个技术,可以有效地减少不必要的计算和请求,提高用户体验。
摘要由CSDN通过智能技术生成

防抖(debounce)

防抖,顾名思义,防止抖动。
用于将用户的操作行为触发转换为程序行为触发,防止用户操作的结果抖动。一段时间内,事件在我们规定的间隔 n 秒内多次执行,回调只会执行一次。

特点:等待某种操作停止后,加以间隔进行操作
持续触发不执行
不触发的一段时间之后再执行

鼠标滑动事件
search搜索联想,用户在不断输入值时,用防抖来节约请求资源。
window触发resize的时候,不断的调整浏览器窗口大小会不断的触发这个事件,用防抖来让其只触发一次

节流(throttle)

节流,顾名思义,控制流量。
用于用户在与页面交互时控制事件发生的频率,一般场景是单位的时间或其它间隔内定时执行操作。一段时间内,事件在每次到达我们规定的间隔 n 秒时触发一次。

特点:每等待某种间隔后,进行操作
持续触发并不会执行多次
到一定时间 / 其它间隔 ( 如滑动的高度 )再去执行

监听滚动事件,比如是否滑到底部自动加载更多,用throttle来判断

实例

// 防抖
function debounce(fn,delay){
   
	// 维护一个 timer
	let timer=null;
	return function(){
   
		// 获取函数的作用域和变量
		let context
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值