监听输入框中值的变化使用节流函数

博客探讨了JavaScript中的节流函数,用于控制函数执行频率,确保在输入变化时不会过于频繁地触发处理逻辑,例如在inputChange事件中,通过设置300ms的延迟,实现了对函数调用的优化,提高了页面性能。

当达到了一定的时间间隔就会执行一次;可以理解为是缩减执行频率
节流函数:

export const throttle = (fn, delay, mustRunDelay) => {
    let timer = null
    let t_start
    return function() {
        const context = this
        const args = arguments
        let t_curr = +new Date()

        clearTimeout(timer)
        if (!t_start) {
            t_start = t_curr
        }
        if (t_curr - t_start >= mustRunDelay) {
            fn.apply(context, args)
            t_start = t_curr
        } else {
            timer = setTimeout(function() {
                fn.apply(context, args)
            }, delay)
        }
    }
};

使用:页面中需要触发的函数,用节流函数来控制

inputChange:throttle(function(e) {
	...... 此处省略逻辑
},300)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值