JavaScript防抖节流学习整理

JavaScript 函数防抖、函数节流

一.防抖

1.持续触发不执行
2.不触发的一段时间之后再执行
分析:

需求 2:

在不触发的一段时间之后再执行,那就需要设置定时器,定时器定时器里面调用需要执行的函数,将arguments传入封装一个函数,让持续触发的事件监听是我们封装的这个函数,将目标函数作为回调(func)传进去,等待一段时间过后执行目标函数

需求 1:

持续触发不执行。我们先思考一下,是什么让我们的函数执行了呢?是上边的setTimeout。OK,那现在的问题就变成了持续触发,不能有setTimeout。这样直接在事件持续触发的时候,清掉定时器就好了。

代码:

JavaScript防抖节流学习整理_第1张图片

JavaScript防抖节流学习整理_第2张图片

二.节流

1.持续触发并不会执行多次
2.到一定时间再去执行
分析:

​ 持续触发,并不会执行,但是到时间后就会执行:控制执行时机 通过一个开关,与定时器setTimeout结合完成函数执行的前提条件是开关打开,持续触发时,持续关闭开关,等到setTimeout到时间了,再把开关打开,函数就会执行了。

代码:

JavaScript防抖节流学习整理_第3张图片
JavaScript防抖节流学习整理_第4张图片

你可能感兴趣的:(javascript)