js arguments和caller,callee

javascript中函数的隐含参数:arguments

arguments是进行函数调用时,除了指定的参数外,还另外创建的一个隐藏对象。Arguments是一个类似数组但不是数组的对象,说它类似数组是因为其具有数组一样的访问性质及方式, 可以由arguments[n]来访问对应的单个参数的值,并拥有数组长度属性length。还有就是arguments对象存储的是实际传递给函数的参数,而不局限于函数声明所定义的参数列表,而且不能显式创建 arguments 对象。arguments 对象只有函数开始时才可用。

在javascript中,不需要明确指出参数名,就能访问它们。如:

function hi(){
if(arguments[0]=="andy"){
     return;
}
alert(arguments[0]);
}


用arguments[0]可以访问第一个参数,如此类推。

functionName.caller调用方法的方法内容 arguments.callee被调用的方法内容

       function testFunction()
	{
		//可以不命名参数 而得到参数内容
		if(arguments[0]=='111')
		{
			alert('w');
		}
		if(arguments[0]=='222')
		{
			alert('x');
		}
		//返回谁调用了该函数 就是function(){} 匿名函数
		alert(testFunction.caller);
		//该函数本身的代码  
		alert(arguments.callee);
		
}

你可能感兴趣的:(arguments)