类数组对象:Arguments
在调用函数时,浏览器每次都会传递进两个隐含参数:
1.函数上下文对象this
2.封装实参的对象 arguments
arguments是一个类数组的对象,它也可以通过索引来操作数据,也可以获取长度。
在调用函数时,我们所传递的实参都会在arguments中保存。
arguments.length可以用来获取实参的长度。
我们即使不定义形参,也可以通过arguments来使用实参,只不过比较麻烦。
arguments[0] 表示第一实参
arguments[1] 表示第二实参…
Arguments的属性:callee
这个属性对应一个函数对象,就是当前正在指向的函数对象
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
function fun(a, b) {
console.log(arguments instanceof Array); //判断是否是一个数组,结果为false
console.log(Array.isArray(arguments)); //使用Array方法检查一个对象是不是数组,结果为false
console.log(arguments.length); //打印它的长度,结果为2
console.log(arguments[0]); //获取索引为0的,结果为4
console.log(arguments.callee == fun); //结果为true
}
fun(4, 8);
</script>
</head>
<body>
</body>
</html>