JavaScript中参数对象的重要性

时间:2018-09-05 08:11:05

标签: javascript arguments javascript-objects

我对JavaScript中的参数对象概念非常陌生,并试图从this tutorial理解概念。

文档中的以下示例说明如下。

 function func1(a, b, c) {
      console.log(arguments[0]);
      // expected output: 1

      console.logr(arguments[1]);
      // expected output: 2

     console.log(arguments[2]);
     // expected output: 3
 }

 func1(1, 2, 3);

但是我无法理解这个概念的重要性,在什么情况下我们最常使用这个概念?

请问我在手机上打字时遇到的问题格式问题。

1 个答案:

答案 0 :(得分:4)

arguments对象在可能具有可变数量的参数的情况下很有用:

function sumAll() {
  var res = 0;
  for (var i = 0; i < arguments.length; i++) {
    res += arguments[i];
  }
  return res;
}

console.log(sumAll(3)); // 3
console.log(sumAll(3, 4, 5)); // 12

但是,由于ES6是2015年标准化的javascript版本(也称为ES2015),因此您可以使用rest参数语法来简化此操作:

function sumAll(...args) {
    var res = 0;
    for (var i = 0; i < args.length; i++) {
        res += args[i];
    }
    return res;
}

console.log(sumAll(3)); // 3
console.log(sumAll(3, 4, 5)); // 12

因此不再需要arguments对象。