js节流与防抖

1.节流:个人理解,有点限制触发频率的意思,话不多说,上代码

// 节流
function jieliu(){
    var now = Date.now()
    if (now - lasttime>500){
        // 你自己的处理逻辑
        console.log(jieliu)
        lasttime = now  // 改变上次执行的时间
    }
}

由代码分析,首先需要一个变量记录上次执行的时间,然后对比现在的时间,判断是否大于某个区间,符合条件的才执行,最后别忘了改变执行时间哦

上面的代码逻辑完美对应节流这个名称

2.防抖:个人理解,按表面意思是防止用户手抖点多,上代码

function fangdou(){
    
   clearTimeOut(timeid)  // 每次执行这个逻辑的时候先清除之前的定时任务

    timeid = SetTimeOut(()=>{

    console.log("防抖")

    },500) 

}

由代码分析,核心在于每次执行逻辑前要先清除之前的定时任务。

 

上一篇:分析Json/Xml的解析过程


下一篇:C++中衡量代码运行时间的方法