一、简介
了解arguments这个对象之前先来认识一下javascript的一些功能:
其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数都会有一个Arguments对象实例arguments,
它引用着函数的实参,可以用数组下标的方式"[]"引用arguments的元素。arguments.length为函数实参个数,arguments.callee引用函数自身。
二、特点
1.arguments对象和Function是分不开的。
2.因为arguments这个对象不能显式创建。
3.arguments对象只有函数开始时才可用
三、使用方法
虽然arguments对象并不是一个数组(类数组),但是访问单个参数的方式与访问数组元素的方式相同
例如:
arguments[0],arguments[1], . . . arguments[n]; 在js中不需要明确指出参数名,就能访问它们
我们知道每一个对象都有自己的属性,arguments对象也不例外,首先arguments的访问犹如Array对象一样,用0到arguments.length-1来枚举每一个元素。
下面我们来看看callee属性,返回正被执行的** Function** 对象,也就是所指定的 Function 对象的正文。
callee 属性是 arguments 对象的一个成员,仅当相关函数正在执行时才可用。callee 属性的初始值就是正被执行的** Function** 对象。实现匿名的递归函数。
封装实参的对象 arguments
-arguments是一个类数组对象,它也可以通过索引来操作数据,也可以获取长度
-在调用函数时,我们所传递的实参都会在arguments中保存
-arguments.length可以用来获取实参的长度
-我们即使不定义形参,也可以通过arguments来使用实参,
-它里边有一个属性叫做callee,这个属性对应一个函数对象,就是当前正在指向的函数的对象