【问题标题】:How to pass value into function that is a parameter如何将值传递给作为参数的函数
【发布时间】:2014-04-11 21:40:35
【问题描述】:

您好,我遇到了这段代码,但我不知道它是如何工作的。

function firstFunction(something, else){
     //stuff being done
     return something;
}

var myFunction = firstFunction(function(a,b){
    return a*b;
},'car');

所以我对 Javascript 还很陌生,所以我只能说它是一种非常令人困惑的语言。我知道我正在声明一个变量,该变量将 firstFunction 分配给自身,并将一些 noname 函数作为第一个参数传递,将 String 作为第二个参数传递。

如何将参数传递给 noname 函数?

【问题讨论】:

  • 你想把什么传到哪里?要将'car' 传递给匿名函数吗?
  • 我想将值传递给函数(a,b)。我知道我可以使用 myFunction.apply(this, arguments) 做到这一点,但是我不完全理解“this”应用于什么以及在何处使用。
  • 首先正确的术语是匿名函数。其次,传递的匿名函数可能在firstFunction 的“正在完成的事情”部分中调用。所以你真的需要给我们更多。
  • this 指的是全局对象 (window),因为您“通常”调用函数,例如 foo()this 的工作原理在 MDN 文档中有详细说明:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…

标签: javascript function parameters


【解决方案1】:

是的,您的评估非常正确,尽管代码存在语法错误,因为您可以使用 else 作为标识符。这些被称为anonymous functions

JavaScript 中的函数可以用作参数值或返回值,就像任何其他值一样容易。这就是使他们成为该语言的first-class citizens 的原因。

你传递给firstFunction的匿名函数被返回并分配给myFunction,所以如果你想调用它,你可以简单地这样做:

var result = myFunction(4, 5); // 20

【讨论】:

    猜你喜欢
    • 2013-01-27
    • 2023-01-12
    • 2012-11-17
    • 2020-12-18
    • 2018-09-09
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多