在调用函数时,浏览器每次都会传递两隐含的参数:
1.函数的上下文对象 this
2.封装实参的对象arguments
arguments是一个类似于数组对象,它也可以通过索引;来操作数据,可以获取长度
1.在调用函数时,我们所传递的实参都会在arguments中保存arguments.length可以用来获取实参
的长度
2.我们即使不定义形参,也可以通过arguments来使用实参,只不过比较麻烦
arguments[0]----表示第一个参数
arguments[1]----表示第二个参数
3.它里面有一个属性叫做callee:
这个属性对应一个函数对象,就是当前正在指向的函数的对象也就是函数本身
function fun(a,b,c){
//看arguments是不是属于Array(数组)的两种方式:
//console.log(arguments instanceof Array);
//console.log(Array.isArray(arguments));
//console.log(arguments[1]);
console.log(arguments.length);//fun("hello");调用打印的是arguments.length=1
//arguments.length只会返回实际传入多少个参数而不是返回fun(a,b,c)中的长度
//比较rguments.callee返回的是不是函数本身
//console.log(arguments.callee == fun);//true
}
fun("hello");