js中 arguments对象

argument

说明:
在JavaScript中,arguments是对象的一个特殊属性。arguments对象就像数组,但是它却不是数组。

属性:
length, 获取arguments对象的长度。

callee, 引用当前正在执行的函数。

编辑本段举例:

1.参数的长度

window.onload = function(){
 
  abc(1,2,3);

 
  }

 
  function abc(){
 
  //虽然这里没有引用参数,但是arguments仍能捕获到

 
  alert(arguments.length);

 
  }//output 3

2.隐藏的参数

function abc(x,y){
 
  alert(x+","+y);

 
  for(var i=0;i<=arguments.length;i+=){
 
  alert(" "+arguments[i]);

 
  }

 
  }//output: 1,2

 
  1 2 3

3.改变参数值

function abc(x,y,z){
 
  arguments[2] = "hello";

 
  for(var i=0;i<=arguments.length;i+=){
 
  alert(" "+arguments[i]);

 
  }

 
  }//output: 1 2 hello

4.递归

求1到n的自然数之和

function add(x){
 
  if(x == 1) return 1;

 
  else return n + arguments.callee(n-1);

 
  }

callee对于匿名函数调用自身时很有用,比如对于没有命名的函数求1到n自然数之和

var result = function(x){
 
  if(x == 1) return 1;

 
  return x+arguments.callee(x-1);

 
  }

版权声明:本文为weixin_47763579原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。