javascript的arguments对象

javascript的arguments对象:
当函数进行调用的时候会创建一个隐藏的对象arguments,此对象中存储实际传入函数的参数此对象不能够显示的创建,此对象和数组非常的想象,比如可以使用索引访问对象中的单个参数,或者使用length属性值返回传入的参数的数量。
看一段代码实例:

 

<script type="text/javascript"> 
function a(x,y) 
{ 
  for(var i=0;i<arguments.length;i++) 
  { 
    alert(arguments[i]); 
  } 
} 
a(1,2,3,4) 
</script>

 

以上代码可以依次弹出1,2,3,4四个参数,说明在arguments存放的是在调用函数时候实际传给函数的参数,而非仅仅是函数定义时的参数列表中的参数。使用arguments对象可以模拟实现函数的重载,例如可以根据传入参数的个数执行不同的代码。
arguments对象的callee属性:
此属性是对函数对象本身的引用,利用它可以实现以匿名方式递归函数,例如:

 

<script type="text/javascript"> 
var sum=function(n) 
{ 
  if(1==n)  
  { 
    return 1; 
  }  
  else  
  { 
    return n + arguments.callee(n-1); 
  } 
} 
alert(sum(100)); 
</script>

 

以上代码实现了以匿名的方式递归调用sum函数。

原文地址:javascript的arguments对象

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。