vue防抖和节流的区别--简单描述版

防抖和节流本质是不一样的。防抖是将多次执行变为最后一次执行,节流是将多次执行变成每隔一段时间执行。

防抖(debounce):

防抖触发高频率事件时n秒后只会执行一次,如果n秒内再次触发,则会重新计算。

概述:每次触发时都会取消之前的延时调用。

节流(thorttle):

高频事件触发,每次触发事件时设置一个延迟调用方法,并且取消之前的延时调用方法。

概述:每次触发事件时都会判断是否等待执行的延时函数。降低回调执行频率,节省计算资源

PS:函数防抖和函数节流都是防止某一时间频繁触发

函数防抖一定时间连续触发的事件,只在最后执行一次,而函数节流一段时间内只执行一次。防抖在频繁操作过程中会清楚上次的执行时间重新进行计算,从而只执行一次,类似于人进入电梯时电梯关门时间的处理

简单来说:你对事件3秒内执行10次的话,防抖是3秒结束后执行最后一次事件,而节流的话,假如指定节流时间1秒,那就是3秒你点了10次也只会执行3次。


效果不一样,看需求选择吧。一般鼠标多次点击按钮进行操作,输入框频繁搜索内容等条件下,为节省资源使用节流。用防抖,(单位时间内只触发一次)。滚动加载请求数据,window触发resize的时候,使用防抖函数可以让其只在最后触发一次。用节流

猜你喜欢

转载自blog.csdn.net/qq_44718932/article/details/126668135