【问题标题】:Javascript: function calls not having parameters, but declaration do have parametersJavascript:函数调用没有参数,但声明确实有参数
【发布时间】:2022-01-11 23:20:35
【问题描述】:

我想知道函数在 javascript 中是如何工作的,我注意到在某些情况下,array.sortarray.filterevent listeners 调用(不声明)函数的代码(不使用无函数或内联) , 通常FunctionName 有括号,里面有参数 (FunctionName(arg1, arg2, arg3...))。参数是否“自动”传递到函数中?

【问题讨论】:

  • 我不确定你在问什么——你所说的“自动传递给函数”是什么意思?这就是参数;传递给函数的值/引用。在 JS 中,函数可以声明为接受参数,但调用者不能提供部分或全部参数;这是否“ok”取决于被调用的函数。
  • 当你有一个回调函数时,接收它的函数调用该函数,并根据需要传递参数。例如。 array.sort() 传递正在比较的两个数组元素。 array.filter() 传递被测试的元素、索引和数组。
  • 代码说我有这些论点。代码将它们发送到您提供的函数。就像您如何编写自己的方法并确定要发送给它的内容一样。
  • @Dave Newton 我的意思是,当您将其作为函数调用(而不是内联或无函数)时,参数并不明确存在,如下所示: sort(compareFn) 最后一个链接是错字,我的错。
  • 你给它一个函数来调用。没有区别。

标签: javascript function parameters arguments


【解决方案1】:

现在我明白了,看着 wikipedia's article on callback 看着警报,它看起来首先调用“计算”​​,提供 2 个数字和函数(仅该函数名称,没有左括号和右括号),并且THEN 使用 callbackFunction 的参数。所以在函数名上不加括号就像在数组名上不加括号一样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    • 2018-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多