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