函数节流原理

函数节流是一种优化技术,确保每间隔固定时间(如500毫秒)执行一次函数,避免频繁调用导致的性能问题。通过设置开始时间begin和比较时间间隔duration,实现控制函数执行频率的效果。

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

函数节流

定义: 函数节流就是每间隔一定时间触发/调用函数一次
优点: 优化系统性能

思路: 我们在初始的时候定义一个begin开始时间,当时间间隔超过duration时,则执行一次函数,这样我们做到了不重复调用,又能保证固定时间间隔执行一次。

函数节流原理:
function scrollFn(){
    console.log(1)
}
function throttle(method,delay,duration){
    var timer=null;
    // 定义开始时间
    var begin=new Date();    
    return function(){                
        var context=this, args=arguments;
        // 定义当时时间
        var current=new Date();        
        clearTimeout(timer);
        // 当时间间隔超过duration,则执行函数
        if(current-begin>=duration){
            method.apply(context,args);
            begin=current;
        }else{
            timer=setTimeout(function(){
                method.apply(context,args);
            },delay);
        }
    }
}
window.onscroll=throttle(scrollFn,100,500)

我们在初始的时候定义一个begin开始时间,当时间间隔超过duration时,则执行一次函数,这样我们做到了不重复调用,又能保证500毫秒执行一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值