首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

arguments.callee 调用本身

2012-07-02 
arguments.callee 调用自身一、Arguments该对象代表正在执行的函数和调用他的函数的参数。[function.]argume

arguments.callee 调用自身

一、Arguments

该对象代表正在执行的函数和调用他的函数的参数。

[function.]arguments[n]

参数function :选项。当前正在执行的 Function 对象的名字。

n :选项。要传递给 Function 对象的从0开始的参数值索引。

说明:Arguments是进行函数调用时,除了指定的参数外,还另外创建的一个隐藏对象。

Arguments是个类似数组但不是数组的对象,说他类似数组是因为其具备数组相同的访问性质及方式,能够由arguments[n]来访问对应的单个参数的值,并拥有数组长度属性length。还有就是arguments对象存储的是实际 传递给函数的参数,而不局限于函数声明所定义的参数列表,而且不能显式创建 arguments 对象。

在此添加了一个说明arguments不是数组(Array类)的代码:

?

?

?

上面的例子能够看出,通过call之后,extend能够继承到base的方法和属性。

顺便提一下,在javascript框架prototype里就使用apply来创建一个定义类的模式,

其实现代码如下:

?

var Class = {    create: function() {        return function() {            this.initialize.apply(this, arguments);        }    }}
?

?

解析:从代码看,该对象仅包含一个方法:Create,其返回一个函数,即类。但这也同时是类的构造函数,其中调用initialize,而这个方法是在类创建时定义的初始化函数。通过如此途径,就能够实现prototype中的类创建模式

?

热点排行