网络编程
位置:首页>> 网络编程>> JavaScript>> 使用面向对象的技术创建高级JavaScript Web 应用程序(6)

使用面向对象的技术创建高级JavaScript Web 应用程序(6)

作者:Ray Djajadinata 来源:Msdn 发布时间:2008-11-03 13:00:00 

标签:面向对象,web程序,javascript,开发

原型

在使用 JavaScript 的面向对象编程中,原型对象是个核心概念。在 JavaScript 中对象是作为现有示例(即原型)对象的副本而创建的,该名称就来自于这一概念。此原型对象的任何属性和方法都将显示为从原型的构造函数创建的对象的属性和方法。可以说,这些对象从其原型继承了属性和方法。当您创建如下所示的新 Dog 对象时:

程序代码

var buddy = new Dog(“Buddy“);

buddy 所引用的对象将从它的原型继承属性和方法,尽管仅从这一行可能无法明确判断原型来自哪里。对象 buddy 的原型来自构造函数(在这里是函数 Dog)的属性。

在 JavaScript 中,每个函数都有名为“prototype”的属性,用于引用原型对象。此原型对象又有名为“constructor”的属性,它反过来引用函数本身。这是一种循环引用,图 3 更好地说明了这种循环关系。


图 3 每个函数的原型都有一个 Constructor 属性

现在,通过“new”运算符用函数(上面示例中为 Dog)创建对象时,所获得的对象将继承 Dog.prototype 的属性。在图 3中,可以看到 Dog.prototype 对象有一个回指 Dog 函数的构造函数属性。这样,每个 Dog 对象(从 Dog.prototype 继承而来)都有一个回指 Dog 函数的构造函数属性。图 4 中的代码证实了这一点。图 5 显示了构造函数、原型对象以及用它们创建的对象之间的这一关系

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com