有人能给我解释一下这个例子中的函数流程吗?
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
。
我看了上面的一段代码,尽我最大的努力寻找解决方案,并在全力以赴后发布在这里。这是我目前对代码的理解: 当有输入时调用 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
。