js中的防抖与节流

本文介绍了防抖和节流两种常见技术,如何在用户操作频繁的场景下解决冲突和浏览器卡顿问题,通过实例展示了如何使用防抖实现文本输入的模糊搜索,以及如何使用节流限制快速点击按钮的行为。

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

作用:用于解决用户操作行为过快导致的事件冲突以及浏览器卡顿问题

1.函数的防抖(在与前一个触发间隔较小时,前一个是事件触发将取消,最后一次执行在规定的时间之后才会触发,即连续多次触发事件只会执行最后一次触发事件)

运用示例:输入框输入文本时执行模糊推荐搜索

防抖代码大致代码演示

function throttle(method , context){ //method为回调方法,context为调用对象.
            clearTimeout(method.timer);
            method.timer = setTimeout(function(){
                                   method.call(context)
        },500)
}

2.函数的节流(在一定间隔时间内不会触发相同回调,每个一段时间才可再次触发.即在特定时间内只执行一次)

运用示例:各种按钮防止用户过快点击

节流代码大致代码演示

var canRun = true;
document.getElementById("...").onclick = function(){
        if(!canRun){
            return   
    }
    canRun = false
    setTimeout(function(){
        console.log("节流")
        canRun = true;
    },500)
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值