1. 前言
浏览器中总是有一些操作非常耗费性能。所以就有了函数节流和函数防抖来提高浏览器性能。
函数节流:频繁触发一个事件时候,每隔一段时间,函数只会执行一次。
函数防抖:当触发一个时间后的n秒内,如果该事件没有被第二次触发,则执行。否,则重新开始计时。
2. 函数节流
函数节流应用场景:滚动条滚动事件
,dom的拖拽
事件等
例:
我们都知道滚动条滚动的时候触发事件的频率极其的频繁。监控滚动条的滚动事件,滚动一次该事件可以触发上百次。很显然,有时候,我们并不需要触发如此多的次数。
函数节流,由此而生。在固定的时间内,只触发一次。
以下是封装好的节流函数,自取直接可用👇
//节流函数
/*
@params (入参)
callback:需要节流的函数。 必传!
time:节流间隔时间点(也就是多久触发一次)不传的话默认是 300 毫秒
*/
//封装好的节流函数
const onScroll = (callback,time = 300) => {
let state = true