在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"}