<script>
/*
*在调用函数时,浏览器每次都会传递进两个隐含的参数
* 1.函数的上下文对象this
* 2.封装实参的对象arguments
* -arguments是一个类数组对象,它也可以通过索引来操作数据,也可以获取长度
* -在调用函数时,我们所传递的实参都会在arguments中保存
* -arguments.length可以用来获取实参的长度(计算实参的数量)
* -我们即使不定义形参,也可以通过arguments来使用实参
* 只不过比较麻烦
* arguments[0] 表示第一个实参
* arguments[1] 表示第二个实参...
* - 定不定义形参,实参都会在arguments中保存
* 它里面有一个属性叫callee,
* 这个属性对应一个函数对对象,就是当前正在执行的函数对相关
*/
function fun(a,b){
// console.log(arguments instanceof Array);//false 看它是不是属于array类型
//console.log(Array.isArray(arguments));//false 用它可以检查一个对象是不是数组
// console.log(arguments.length);//0 arguments是封装实参的,而fun()函数此时没有传实参
// console.log(arguments[0]);//“hello”获取索引为0的实参,console.log(arguments[1]);//显示true
console.log(arguments.callee == fun);//true
}
fun("hello",true);//1
</script>