在调用函数时,浏览器每次都会传递进两个隐含的参数 1.函数的上下文对象this 2.封装实参的对象arguments
其中arguments是一个类数组对象
function(){
console
.log(arguments
instanceof Array);
console
.log(Array
.isArray(arguments
));
}
可以看出,类数组对象他不是数组,arguments是类数组对象 类数组对象可以通过索引来操作数据,也可以获取数组长度,但他不是数组
在调用函数时,我们所传递的实参都会在arguments中保存
function fun(){
console
.log(arguments
.length
);
}
fun();
fun('hello');
fun('hello',true);
即使不定义形参,我们也可以通过arguments来使用实参,只不过麻烦。 arguments中还有一个属性callee 这个属性对应一个对象,就是当前正在指向的函数的对象