防抖和节流

防抖常用于input输入事件,确保只执行最后一次操作,例如延迟500毫秒后发送请求。节流则控制执行频率,如在移动端点击事件中,每4秒允许一次请求,防止过度触发。通过设置开关变量和定时器,这两种技术能有效优化性能。
摘要由CSDN通过智能技术生成

防抖

一般用于input输入事件,频繁触发的事件或者行为。需要只执行最后一次(核心)

<button class="btn">注册</button>
<script>
        var input = document.querySelector('input')
input.oninput = (function () {
             let timer = null
            return function () {
                 clearInterval(timer)
                 timer = setTimeout(()=>{
                 //触发的事件
                     console.log('我要发送请求了')
                 },500)
            }
        })()
    </script>

节流

控制执行的次数,主要用在移动端的点击 ,一般用在移动端会偏多

var btn = document.querySelector('.btn')
btn.onclick = (function (delay) {
            let flag = true
            return function () {
                if (flag) {
                    // 通过以后 马上把开关的状态设置为false
                    flag = false
                    btn.disabled = true
                    console.log('我要发送请求了')
                    setTimeout(() => {
                        btn.disabled = false
                        flag = true
                    }, delay)
                }
            }
        })(4000)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值