arguments 对象

此对象表示当前所执行的函数、其参数和调用它的函数。 此对象不能显式构造。

属性

arguments 对象属性

方法

arguments 对象没有方法。

要求

版本 1

备注

arguments 对象开始执行时,它会为每个函数进行实例化。 arguments 对象只能在其关联函数的范围内直接进行访问。

传递到函数的所有参数和参数的数目都存储在 arguments 对象中。 arguments 对象不是数组,但访问各个参数与访问数组元素的方式相同,要使用 [ ] 符号。

您可以使用 arguments 对象来创建可接受任意个参数的函数。 这一功能还可以通过在定义函数时使用参数数组结构来实现。 有关更多信息,请参见 function 语句主题。

提示

arguments 对象在以快速模式(JScript 的默认模式)运行时不可用。 若要从命令行编译使用 arguments 对象的程序,则必须使用 /fast- 关闭快速选项。 由于线程处理问题,在 ASP.NET 中关闭快速选项是不安全的。

示例

下面的示例阐释 arguments 对象的用法:

function argTest(a, b) : String {
   var i : int;
   var s : String = "The argTest function expected ";
   var numargs : int = arguments.length; // Get number of arguments passed.
   var expargs : int = argTest.length;   // Get number of arguments expected.
   if (expargs < 2)
      s += expargs + " argument. ";
   else
      s += expargs + " arguments. ";
   if (numargs < 2)
      s += numargs + " was passed.";
   else
      s += numargs + " were passed.";
   s += "\n"
   for (i =0 ; i < numargs; i++){        // Get argument contents.
      s += "  Arg " + i + " = " + arguments[i] + "\n";
   }
   return(s);                            // Return list of arguments.
}

print(argTest(42));
print(argTest(new Date(1999,8,7),"Sam",Math.PI));

该程序的输出为:

The argTest function expected 2 arguments. 1 was passed.
  Arg 0 = 42

The argTest function expected 2 arguments. 3 were passed.
  Arg 0 = Tue Sep 7 00:00:00 PDT 1999
  Arg 1 = Sam
  Arg 2 = 3.141592653589793

请参见

参考

new 运算符

function 语句

/fast