参数对象

参数是一个类似数组的对象,可以在包含传递给该函数的参数值的函数内部访问。

让我们在 ES5 中创建一个接受 N 个参数的函数:

function func() {
  console.log(arguments);
  let sum = 0
  for (let i = 0; i < arguments.length; i++) {
    sum += arguments[i];
  }
  console.log(sum)
  return sum;
}
func(3, 4, 7); //14
func(3, 4, 7, 10, 20); //44
func(3, 4, 4, 8); //19

rest参数

rest 参数也可以执行无限数量的参数。

使用 rest 参数,它的语法与扩展运算符相同,可以将无限数量的参数传递给指定的函数:

function add(...args) {
  return args.reduce(function (acc, cur) {
    return acc + cur;
  })
}
console.log(add(3, 4, 8)); //15
console.log(add(3, 4, 8, 10, 20)); //45
console.log(add(3, 4, 4, 9)); //20

arguments 和 rest 参数之间的区别在于,所有数组方法都可以直接应用于 rest 参数,但不能应用于 arguments。

参数是一个类似数组的对象,可在包含传递给该函数的参数值的函数内部访问。
其余参数语法允许将无限数量的参数添加为数组。

如何在 JavaScript 中编写一个接受任意数量参数的函数

没有函数参数限制,因此无论函数声明指定什么,我们都可以调用函数并传入任意数量的参数。

有两种方法可以创建具有任意数量参数的函数。

日期:2020-06-02 22:16:27 来源:oir作者:oir