首页 > 解决方案 > JavaScript 中 arguments 对象的重要性

问题描述

我对 JavaScript 中的参数对象概念非常陌生,并试图从本教程中理解这个概念。

文档中的以下示例解释如下。

 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);

但是我无法理解这个概念的重要性,我们主要在什么场景下使用这个概念?

请原谅我在手机上打字时的问题格式问题。

标签: javascriptargumentsjavascript-objects

解决方案


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 对象。


推荐阅读