阅读本文后,我发现去抖动是如何工作的: 有人可以解释 Javascript 中的“去抖动”功能吗?
在这个被接受的答案中有一些东西我无法弄清楚它是如何变成这样的:
“请注意,这会覆盖 timeout 的值,并且该值在多个函数调用中持续存在!”
每次调用 debounce 方法时,都会为其创建一个新堆栈,返回的函数可以访问超时值。是的,我把它理解为封闭的本质。但是在多次调用中,我们得到包装器 debounce 将产生一个新的本地超时,那么如何清除先前调用中的超时,因为它们没有绑定到相同的超时?
非常感谢,我知道这是非常基本的 JS,但我不想忽略它,因为我知道,如果理解它,我可以更了解 JS。