前端优化之——防抖和节流(简记)

1.函数防抖
函数防抖通常用于处理用户在短时间内频繁触发某一件事(如窗口大小改变、搜索框输入等)的情况。它的原理是在一定时间(如500ms)内,如果用户多次触发该事件,则只执行最后一次触发。这样可以减少触发次数,避免无效操作,提高性能。

const  debounce = function(fn,t)=>{
    const delay = t || 500;
    let timer;
    return function(){
      const args = arguments;
      if(timer){
      clearTimeout(timer);
  }
  timer = setTimeout(()=>{
      timer=null;
      fn.apply(this,args)
},delay)
}

2.函数节流
函数节流通常用处理需要反复执行的操作,如动画效果、滚动事件等。它的原理是在一定事件内(如500ms)只执行一次操作,避免频繁触发操作,提高性能;

  const throttle = (fn,dealy)=>{
    const delay = t || 500;
    let timer;
    return function(){
        const args = arguments
        if(!timer){
              timer = seTimeout(()=>{
                  timer=null;
                     fn.apply(this,args)
              },delay)
        }
    }
}

明明也是很清晰明了的道理为什么总是弄混了,还写不出来!!!!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值