我对 throttle 和去抖函数的概念有点不确定。
据我了解:
我们去抖动一个应该在特定事件发生后调用的函数。它用于拖动、按键等事件,目的是在事件被触发时不一直触发,而是在一系列事件完成时触发。通常在键入整个单词后,或者在拖动或调整大小序列结束后。
我们限制一个应该在一系列事件发生时触发的函数,但是当我们想要控制它被调用的次数时。就像在拖动运动中一样,我们希望仅在每 x 个像素距离或仅每 100 毫秒调用该函数,而不是每次触发事件时调用该函数。因此,在一系列事件发生时会调用 throttle 函数,只是调用次数更少。
问题:
这是对这些功能及其用途的正确理解吗?还有其他区别它们的特征吗?
最佳答案
简而言之:
throttle 是为了在不断调用的过程中按一定的时间间隔调用函数。 喜欢:window.scroll。 debounce 旨在在特定时间内仅调用一次函数。不管它叫了多少次。 喜欢:提交按钮点击。 这是示例:
//http://jsfiddle.net/1dr00xbn/
你可以看出区别。
关于javascript - throttle 和去抖功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30222791/