【发布时间】:2022-01-11 23:20:35
【问题描述】:
我想知道函数在 javascript 中是如何工作的,我注意到在某些情况下,array.sort、array.filter 和 event listeners 调用(不声明)函数的代码(不使用无函数或内联) , 通常FunctionName 有括号,里面有参数 (FunctionName(arg1, arg2, arg3...))。参数是否“自动”传递到函数中?
【问题讨论】:
-
我不确定你在问什么——你所说的“自动传递给函数”是什么意思?这就是参数;传递给函数的值/引用。在 JS 中,函数可以声明为接受参数,但调用者不能提供部分或全部参数;这是否“ok”取决于被调用的函数。
-
当你有一个回调函数时,接收它的函数调用该函数,并根据需要传递参数。例如。
array.sort()传递正在比较的两个数组元素。array.filter()传递被测试的元素、索引和数组。 -
代码说我有这些论点。代码将它们发送到您提供的函数。就像您如何编写自己的方法并确定要发送给它的内容一样。
-
@Dave Newton 我的意思是,当您将其作为函数调用(而不是内联或无函数)时,参数并不明确存在,如下所示: sort(compareFn) 最后一个链接是错字,我的错。
-
你给它一个函数来调用。没有区别。
标签: javascript function parameters arguments