JavaScript中的对象、函数和继承
2010-09-14 13:47:33 来源:WEB开发网4、 对象的创建
在js中有两种创建对象的方法,一种是通过字面量来实现,如
var Person = {
“first_name”:’liang’,
‘last_name’:’yang’
}
另一种方法是通过构造器来创建
var my = new Person(‘liang’,’yang’);
其实第一种方式的创建过程相当于调用Object构造器来实现,如下。
var Person = new Object();
Person.first_name = ‘liang’;
Person.last_name = ‘yang’
所以我们可以把js中所有对象的创建都合并到使用构造器来实现,下面我么来详细说明构造器创建对象的过程:
第一步,先创建一个空的对象(既没有任何属性),并将这个对象的[[proto]]指向这个构造器函数的prototype属性对象
第二步,将这个空的对象作为this指针传给构造器函数并执行
第三步,如果上面的函数返回一个对象,则返回这个对象,否则返回第一步创建的对象
第四步,把函数当做一个类来使用
由上面的步骤我们可以看出,一般来说函数对象的prototype指向的是一个普通对象,而不是一个函数对象,这个普通对象中的属在由此函数构造器创建的对象中也可以访问。由此可以如此设计我们的代码,假设一个函数就可以代表一个类,这个构造器函数生成的对象就是这个类的实例对象,那么实例对象中应有的属性和方法应该放在这个构造器函数的prototype中,这个类的静态方法就可以直接放到这个函数作为对象的属性中,最后这个函数体就是我们平时在面向对象语言中所说的构造函数(在这里我们要区分连个词“构造函数”和“构造器函数”,所谓构造函数是指普通的面向对象语言中的类的构造函数,而构造器函数是指javascript中的一个函数被当做构造器使用)。
Tags:JavaScript 对象 函数
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接