在调用函数时,浏览器每次都会传递两个隐含的参数
1.函数的上下文对象this
2.封装实参的对象arguments
arguments:类数组对象,包含传入函数的所有参数
类数组不是数组,不能使用数组的方法
内部的下标跟数组类似,且有length,才是类数组对象
function obj(a,b){
console.log(arguments.length);//2
console.log(argumengs[0]);//1
}
obj(1,2);
我们即使不定义形参,也可以通过arguments来使用实参
function fun(){
console.log(arguments[0])//'hello'
}
fun('hello',2)
callee:是arguments中的一个属性,执行拥有该arguments的函数
//递归
function dg(num){
if(num<=1)
return 1;
else
return num*arguments.callee(num-1);
}