一、arguments
理解:
每个函数都有一个Arguments对象实例arguments,引用了函数的实参,可通过数组下标的方式引用arguments的元素。arguments.length为函数实参个数,arguments.callee引用函数自身。
二、特点
1.arguments对象和Function是分不开的。
2.因为arguments这个对象不能显式创建。
3.arguments对象只有函数开始时才可用。
三、是什么
arguments对象并不是一个数组(类数组),但是访问单个参数的方式与访问数组元素的方式相同。
我们知道每一个对象都有自己的属性,arguments对象也不例外,首先arguments的访问犹如Array对象一样,用0到arguments.length-1来枚举每一个元素。
callee属性:返回正被执行的function 对象,也就是所指定的 Function 对象的正文。callee 属性是 arguments 对象的一个成员,仅当相关函数正在执行时才可用。callee 属性的初始值就是正被执行的** Function** 对象。实现匿名的递归函数。
arguments&&[].slice.call(arguments)和[].shift.call(arguments)个人理解
最新推荐文章于 2022-08-09 16:35:51 发布