【问题标题】:Can someone explain me the flow of functions in this example?有人可以解释一下这个例子中的功能流程吗?
【发布时间】:2020-08-01 11:11:16
【问题描述】:

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

【问题讨论】:

    标签: javascript callback arguments parameter-passing higher-order-functions


    【解决方案1】:

    debouce 在初始运行时只被调用一次,它创建并返回一个新的匿名函数——实际的事件处理程序。

    当触发输入事件时,执行之前创建的函数,并在500ms后调用func(onInput)。 func 只传递给 debounce 一次,但 args 是实际的输入事件参数,将通过 apply 传递给 func。在这种情况下,apply 与func(...args); 基本相同,因此func(又名 onInput)将在 500 毫秒后使用来自input event 的实际参数调用。

    【讨论】:

      【解决方案2】:

      这是一个去抖动的例子。

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

      我已经用示例解释了去抖动,请查看链接 debounce

      【讨论】:

        猜你喜欢
        • 2019-10-24
        • 1970-01-01
        • 2011-02-01
        • 2015-01-31
        • 2023-01-18
        • 1970-01-01
        • 1970-01-01
        • 2021-05-27
        • 2019-06-07
        相关资源
        最近更新 更多