浅谈js中的防抖和节流

本文深入探讨JavaScript中的防抖与节流技术,这两种技术常用于性能优化,防止频繁触发函数。防抖能确保在一定时间内只执行一次函数,适合于如新增功能的场景,避免连续点击导致的多次请求。节流则限制函数的执行频率,适用于input输入框监听等场景,确保每隔固定时间才执行一次。文中还提供了防抖和节流的实现代码示例。
摘要由CSDN通过智能技术生成

浅谈js中的防抖和节流

防抖和节流严格算起来应该属于性能优化的知识,但实际上遇到的频率相当高

1.防抖

1.1应用场景:

列如实际项目中遇到新增,添加之类得功能,每点击一次新增按钮都是发请求,如果我们连续点击多次就会发很多请求,新增很多条数据,这时候我们就需要用到防抖
效果:短时间内大量触发同一事件,只会执行一次函数。

1.2什么是防抖:

简单来说就是短时间内大量触发同一事件,只会执行一次函数

1.3防抖代码的实现:

这是一个按钮,我们让它3秒内只触发一次,主要实现思路:定义一个变量,通过变量控制setTimeout,
在3秒内连续点击时如果有定时器,会把它清空,重新开始
在这里插入图片描述

1.节流

1.1应用场景:

列如实际项目中遇到input输入框事件,只要输入就会触发,我们想让它每隔一段时间触发就会用到节流

1.2什么是节流:

简单来说就是一个时间,每隔 3s都会触发一次

1.3节流代码的实现:

这主要实现思路:通过setTimeout来做一个简单的实现,加上一个状态位valid来表示当前函数是否处于工作状态
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值