防抖节流

139 阅读1分钟

防抖

防抖
let time = null
function Fn(){
    if (time === null){ // 为空赋值定时器
            time = setTimeout(()=>{
               console.log('老王很忙') //要执行的代码体
            },1000)
    }else { //如果不为空则清空上一个定时器并赋值为null ,再次调用自己重新设置定时器
            clearTimeout(this.time)
            this.time = null
            Fn()
    }
}

节流

节流
let time = null
//节流
function fn(){
    if (time >= new Date().getTime()) return false // 如果三秒后的时间大于当前,返回false,跳出函数(不执行)
    time = new Date().getTime() + 3000  // 三秒后
    return (() => { // 调用执行的函数
        console.log('老王很忙') 
    })()
}