将未知数量的参数传递给Javascript中的函数

在JavaScript中调用函数时,可以传入任意数量的参数。没有功能参数限制。这也意味着函数不能以传统方式在js中重载。

arguments对象是所有非箭头函数中都可用的局部变量。您可以使用函数的arguments对象在该函数内引用该函数的参数。它具有调用该函数的每个参数的条目,第一个条目的索引为0。

例如,如果一个函数传递了3个参数,则可以按以下方式访问它们-

arguments[0] // first argument
arguments[1] // second argument
arguments[2] // third argument

– arguments是函数内部可访问的类似于数组的对象,其中包含传递给该函数的参数的值。“类似数组”表示参数具有length属性,并且属性的索引从零开始,但是没有Array的内置方法(例如forEach()和)map()

例如,要接受任意数量的args,可以创建如下函数-

示例

function printAllArguments(a, b) {
   console.log("First arg: " + a)
   console.log("Second arg: " + b)
   console.log("All args: " + arguments)
}
printAllArguments(1)
printAllArguments(1, "hello")
printAllArguments(1, "hello", 1, "hello")

输出结果

First arg: 1 
Second arg: undefined 
All args: {"0":1}
First arg: 1
Second arg: hello 
All args: {"0":1,"1":"hello"} 
First arg: 1
Second arg: hello 
All args: {"0":1,"1":"hello","2":1,"3":"hello"}