1.关于Argument数组的行为特性

  1. arguments的行为有点像数组,但它其实并不是数组,它不具备JavaScript核心数组的一些方法如join、sort、slice等方法

  2. arguments对象本身是个由函数调用时传入的实参组成的伪数组,访问单个参数的方式与访问数组元素的方式相同。索引 n 实际上是
    arguments 对象的 0…n 属性的其中一个参数。

function test(x, y, z) {
console.log(test.length);//函数的形参个数,3
console.log(arguments.length);//函数调用时的实参个数,2
console.log(arguments.callee === test);//true,初始值就是正被执行的 Function 对象,用于在函数内部调用自身,特别是函数本身为匿名函数时,要在内部调用自己

console.log(arguments[2]);//undefined, arguments对象本身是个由函数调用时传入的实参组成的伪数组
}
test(10, 20);


gecko23
548 声望14 粉丝