有人能给我解释一下这个例子中的函数流程吗?

Can someone explain me the flow of functions in this example?

我看了上面的一段代码,尽我最大的努力寻找解决方案,并在全力以赴后发布在这里。这是我目前对代码的理解: 当有输入时调用 debounce() 并将 onInput() 作为回调传递给它,并且 debounce 函数 return 另一个函数,被 returned 的函数接受一个参数,该参数是传递的函数通过 debounce() a.k.a onInput() ,我被卡住了 @ func.apply(null , args); 1.Isnfunc 和 args 不是一回事吗???? 请有人逐步解释是可能的..

这是去抖的例子。

  • 去抖动是一种用于提高浏览器性能的做法。
  • 确保耗时任务不会经常触发的编程实践。
  • 它用于限制调用函数的速率。

我已经用例子解释了去抖动,请查看link debounce

debouce 仅在初始 运行 上调用一次,它创建并 returns 一个新的匿名函数 - 实际的事件处理程序。

当输入事件触发时,执行之前创建的函数,并在500ms后调用func(onInput)。 func 只传递给 debounce 一次,但 args 是实际的输入事件参数,将在 500 毫秒后通过 apply. In this case, apply is basically the same as func(...args); So func (aka onInput) will be called with the actual arguments from the input event 传递给 func