标签:推荐 重载 递归 比较 case 有用 script console 调用
arguments对象是比较特别的一个对象,arguments非常类似Array,但实际上又不是一个Array实例。
它指的是函数对象里的参数,且只能在函数内部使用。
使用
检测函数的参数个数,引用属性 arguments.length。
访问:arguments[0]
1.arguments对象的长度是由实参个数而不是形参个数决定的。
function a(a,b,c){ console.log(arguments.length)
console.log(arguments[3])
b=b-a;
console.log(b)
}
a(1,2);//2 undefined 1
2.JavaScript中函数是不能重载的。
如何实现重载呢?
function fn(){ switch(arguments.length){ case 0: //执行语句块 break; case 1: //执行语句块 break; case 2: //执行语句块 break; } }
3.arguments对象中有一个非常有用的属性:callee。arguments.callee返回此arguments对象所在的当前函数引用。在使用函数递归调用时推荐使用arguments.callee代替函数名本身。
function a(a){ if(a==1){return 1} return a+arguments.callee(--a); } a(10);//55
标签:推荐 重载 递归 比较 case 有用 script console 调用
原文地址:http://www.cnblogs.com/mina-huojian66/p/6094474.html