【前端学习——js篇】2.节流与防抖

具体可见https://github.com/febobo/web-interview

2.节流与防抖

防抖:连续触发事件但是在设定的一段时间内中只执行最后一次。【重新开始】

【解释】:lol回城被打断,只能重新B

应用场景:搜索框搜索输入、文本编辑器实时保存

let timerF = null
//鼠标点击
document.querySelector('.ipy').onmousedown = function(){
    // 防抖
    if(timerF !== null){
        clearInterval(timerF)
    }
    timerF = setTimeout(() =>{
        console.log(`我是防抖`);
    },1000)
}

每点击都会清空timer,重新开始。

节流:连续触发事件但是在设定的一段时间内只执行一次函数。【不要打断我】

【解释】:lol传送只能在传送完后去做另一些事情。(没有击飞,沉默等控制技能)

应用场景:高频事件(快速鼠标点击、鼠标滑动、resize事件、scroll事件)、下拉加载、视频播放记录事件等

//节流
let timerJ = null
//鼠标点击
document.querySelector('.but').onmousedown = function(){
    // 防抖
    if(timerJ !== null){
        return
    }
    timerJ = setTimeout(() =>{
        console.log(`我是节流`);
        timerJ = null
    },1000)
}

每次点击都不会打扰执行当前事件。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值