代码之家  ›  专栏  ›  技术社区  ›  Hemadri Dasari

JavaScript中参数对象的重要性

  •  -1
  • Hemadri Dasari  · 技术社区  · 6 年前

    我对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 回复  |  直到 6 年前
        1
  •  4
  •   Axnyff    6 年前

    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对象不再是必需的。