javascript的Function@H_404_3@
对调用单前函数的Function的引用,如果是顶层代码调用,
则返回null(firefox返回undefined)。
注:只有在代码执行时才有意义@H_404_3@
声明函数是指定的命名参数的个数(函数定义是,定义参数的个数)@H_404_3@
一个对象,用于构造函数,这个对象定义的属性和方法
由构造函数创建的所有对象共享。
@H_404_3@
方法:
@H_404_3@
applay() --> applay(this,[])
call() --> call(this,可变参数)
toString()@H_404_3@
Arguments对象只在函数体内定义,他是一个类数组(是对象不是数组,只是有数组的一些特性)。
@H_404_3@
当一个函数被调用的时候,会为该函数创建一个Arguments对象,
局部变量arguments会自动初始化并引用那个Arguments对象(arguments是Arguments对象的引用)@H_404_3@
传递给函数参数的个数(实际传递给函数参数的个数)@H_404_3@
arguments对象不能显式创建,arguments对象只有函数开始时才可用。函数的 在javascript中,不需要明确指出参数名,就能访问它们。如:
@H_404_3@
arguments的length属性@H_404_3@
[function.]arguments.length@H_404_3@
其中可选项 function 参数是当前正在执行的 Function 对象的名称。@H_404_3@
当 Function 对象开始执行时,脚本引擎将 arguments 对象的 length 属性初始化为传递给该函数的实际参数数目。@H_404_3@
js不会主动为你判断你到底给函数传了多少个参数,如果你多传了,多余的部分就没有被使用,如果你少传了,那么没传的参数值就是undefined@H_404_3@
所以我们可以借助arguments的length属性来检测调用函数时是否使用了正确数目的实际参数,因为javascript是不会为你做这些事的@H_404_3@
属性@H_404_3@
返回一个 arguments 对象中的各个参数的实际值,相应的值是由一个正在执行的函数的 arguments属性返回的。@H_404_3@
[function.]arguments[[0|1|2|...|n]]@H_404_3@
可选项。当前正在执行的 Function 对象的名称。@H_404_3@
0,1,2,…,n@H_404_3@
必选项。0 到 n 范围内的非负整数,其中 0 代表第一个参数而 n 代表最后一个参数。最后参数 n 的值为 arguments.length-1@H_404_3@
0 . . . n 属性所返回的值就是传递给正在执行的函数的实际值。尽管实际上并不是一个参数数组,您还是可以按照与访问数组元素的方法相同的方式访问组成 arguments 对象的各个参数。@H_404_3@
下面的例子演示了 arguments 对象的 0 . . . n 属性的用法
@H_404_3@
<div class="jb51code">属性:
@H_404_3@
1、
Arguments对象@H_404_3@
2、caller
@H_404_3@
3、length
@H_404_3@
4、prototype
@H_404_3@
javascript的Arguments对象
@H_404_3@
说明:
@H_404_3@
1、callee
@H_404_3@
2、length
@H_404_3@
arguments特性
@H_404_3@
arguments
对象并不是一个数组,访问单个参数的方式与访问数组元素的方式相同。索引n实际上是arguments
对象的0…n
属性的其中一个参数。
@H_404_3@
含义
@H_404_3@
用法
@H_404_3@
说明
@H_404_3@
含义
@H_404_3@
用法
@H_404_3@
参数
@H_404_3@
function
@H_404_3@
说明
@H_404_3@
示例
@H_404_3@
<pre class="brush:js;">
function ArgTest(){
var s = "";
s += "The individual arguments are: "
for (n=0; n< arguments.length; n++){
s += ArgTest.arguments[n];
s += " ";
}
return(s);
}
print(ArgTest(1,"hello",new Date()));