搜索框模糊搜索 防抖&&节流

文章讲述了如何通过防抖和节流技术优化搜索框的性能,防止频繁发送请求导致的性能问题。防抖函数确保在规定时间内只执行最后一次,而节流函数则保证在设定的时间间隔后才执行下一次,这两种方法都可以有效地减少不必要的请求。

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

实现搜索框搜索
input输入value 下面发送请求request 显示content
逐次发送请求 无疑会影响性能
可以采用防抖或节流 优化

函数节流 函数执行一次后只有大于设定的执行周期后才会执行第二次
应用 需要频繁触发的函数 为了优化性能
在规定时间内 只让函数触发的第一次生效 后面不生效

   /* fn节流函数  delay 规定时间 */
        function throttle(fn, delay) {
            // 设置变量记录上一次函数触发时间
            let lastTime = 0
            return function() {
                // 记录当前函数触发时间
                let nowTime = Date.now();
                // 当前时间减去上一次触发时间 大于规定时间 执行fn  规定时间内不执行
                if (nowTime - lastTime > delay) {   
                	fn();
                    // 同步时间
                    lastTime = nowTime
                }
            }
        }
      throttle(fn1(),200)

函数防抖
一个频繁触发函数在规定时间内 只让最后一次生效 前面不生效

 function debounce(fn, delay) {
  let timer = null //记录上一次延时器
  return function() {
      clearTimeout(timer) //清除上一次定时器
      // 重新设置定时器
      timer = setTimeout(function() {
          fn.apply(this)
      }, delay);
  }
}
debounce(fn2(),300)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值