可用性
JavaScript 1.1; JScript 2.0; ECMAScript v1
从…继承/覆盖
继承于 Object
语法
arguments
arguments[n]
元素
Arguments对象只在函数体中定义。虽然技术上说来,它不是数组,但Arguments对
象有带编号的属性,这些属性可以作为数组元素,而且它有length属性,该属性声
明了数组元素的个数。它的元素是作为参数传递给函数的值。元素0是第—个参数,
元素1是第二个参数,以此类推。所有作为参数传递的值都会成为Arguments对象的
数组元素,无论函数声明中是否有这些参数的名字。
属性
- callee
-
对当前正在执行的函数的引用。
- length
-
传递给函数的参数个数,同时也是Arguments对象中的数组元素个数。
描述
当一个函数被调用时,会为该函数创建一个Arguments对象,局部变量arguments也
会自动地初始化以便引用那个Arguments对象。Arguments对象的主要用途是提供一
种方法,用来确定传递给函数的参数个数并且引用未命名的参数。除了数组元素和属
性length之外,属性callee可以使未命名的函数引用自身。
大多数情况下,可以将Arguments对象看做是具有callee属性的数组。但它不是Array类的实例,Arguments.1ength属性没有Array.1ength属性的专有行为,所以不能用它来改变数组的大小。
Arguments对象有一个非常特殊的特性。当函数具有命名的参数时,Arguments对象的数组元素是存放函数参数的局部变量的同义词。Arguments对象和参数名提供了引用同一个变量的两种不同方法。用参数名改变参数值,会改变用Arguments对象得到的值,改变用Arguments对象得到的参数值,也会改变用参数名得到的值。
参阅
Function
|