此对象表示当前所执行的函数、其参数和调用它的函数。此对象不能显式构造。
属性方法arguments 对象没有方法。
要求备注当 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