【前端性能优化】——防抖(debounce)和节流(throttle)

本文介绍了前端性能优化中的防抖(debounce)和节流(throttle)技术,用于处理高频事件以提高性能。防抖在n秒内只执行最后一次,而节流在n秒内固定执行一次。常见的应用场景包括搜索输入防抖、窗口resize事件处理和购物车商品数量计算节流等。同时,文章提供了JS实现防抖和节流的基本原理。
摘要由CSDN通过智能技术生成

防抖和节流

防抖和节流主要是针对用户的鼠标点击事件进行的一个性能优化处理,在日常开发中十分常见。

防抖和节流的定义

防抖:高频触发事件后n秒内函数只会执行一次,在n秒内再次触发事件,则会重新计时

节流:高频触发事件在n秒内只执行一次。

共同点:防抖和节流都是为了限制函数的执行频率,以优化函数触发频率过高导致的响应速度跟不上触发频率,出现延迟,假死或卡顿的现象。是前端性能优化的方式之一。

防抖和节流的应用场景

防抖应用场景:

  • 1.搜索栏的输入框,对用户的不断输入采用防抖机制,节省请求资源
  • 2.wimdow触发resize时,调整浏览器大小时会不断触发该事件,使用防抖可以只触发一次

节流应用场景:

  • 1.购物车中添加商品数量,使用节流可以使得计算商品总价时不会延时
  • 2.监听浏览器滚动事件时,使用节流减少事件触发次数

JS实现防抖和节流

防抖的实现原理:每次触发事件时设置一个延迟调用方法,并且取消之前的延时调用方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值