Arguments对象

Arguments对象
1、在JavaScript中,argument对象是一个比较特别的对象,实际上是当前函数的一个内置属性。arguments非常类似Array。但实际上不是一个Array实例。
2、arguments对象的长度由实参个数而不是形参个数决定
。形参是函数内部重新开辟内存空间存储的变量,但是与其arguments对象内存空间并不重叠。对于arguments和值都存在的情况下,两者是同步的,但是对其中一个无值的情况下,对于此无值的情形值不会得以同步。

function f(a, b, c){
    alert(arguments.length);   // result: "2"    a = 100;
    alert(arguments[0]); 
      // result: "100"    arguments[0] = "qqyumidi";
    alert(a);                  // result: "qqyumidi"
    alert(c);                  // result: "undefined"    c = 2012;
    alert(arguments[2]);       // result: "undefined"}f(1, 2);

3、JavaScript中函数不能重载
(1)JavaScript函数的声明没有返回类型的概念
(2)JavaScript中形成的个数严格意义讲只为了方便在函数的变量操作,实际上实参依据存储在arguments对象中了
4、arguments对象中callee,arguments.callee返回此arguments对象所在函数引用。在使用函数递归调用时推荐使用arguments.callee代替函数名本身.
callee是argument的一个指针,指向拥有argument对象的函数。

function cont(a){
     if(a==1){
          return 1;
     }
     return a+arguments.callee(--a); //用arguments.callee来代替cout()函数。
}
var mm=count(10);
alert(mm);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容