gpt4 book ai didi

javascript - 如何在 JavaScript 中将函数作为参数传递?

转载 作者:行者123 更新时间:2023-12-02 17:32:23 27 4
gpt4 key购买 nike

我需要创建一个带有回调函数的函数,但我找到的解决方案不允许设置该函数。

我来解释一下:

这是我找到的解决方案:

function callbackFunction()
{
alert("hello world");
}

function myFunction(callback)
{
callback()
}

myFunction(callbackFunction()) /* this works */

这就是我需要的:

function myFunction(callback)
{
callback()
}

myFunction(function(){alert("hello world");}); /* this doesn't work */

一些想法?

谢谢

最佳答案

myFunction(callbackFunction())  /* this works */

不,没有。至少不是你想象的那样。这是:

  1. 调用callbackFunction
  2. callbackFunction结果传递给 myFunction

myFunction 尝试调用 callback 时,您可能会收到错误,因为它不是一个函数。但您忽略了这一点,因为您看到了 alert() 并认为它有效。 alert() 发生在调用 myFunction 之前。

您希望将其作为函数引用而不是函数调用传递:

myFunction(callbackFunction)  /* this works */

这将产生相同的可见结果(alert()),但按照预期的操作顺序并且没有错误。

<小时/>
myFunction(function(){alert("hello world");});  /* this doesn't work  */

You sure about that?如果这确实对您“不起作用”,那么您没有与我们分享的问题一定还有更多,因为该代码按原样工作。

关于javascript - 如何在 JavaScript 中将函数作为参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22941545/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com