javascript 原型prototype

 

属性prototype:

每个函数都有一个prototype属性,他引用的是预定义的原型对象,原型对象在使用new 运算符把函数作为构造函数时起作用,他定义新的对象类型是起着非常重要的作用

                                                                                    --摘自javascript权威指南(第五版)

在创建空对象以后,new设置了这个对象的原型.一个对象的原型就是他的构造函数的prototype属性的值.所有的函数都有一个prototype属性,当这个函数被定义的时候,prototype属性自动创建和初始化.prototype属性的初始值是一个对象,这个对象只带有一个属性。这个属性名为constructor,他只想和原型相关联的那个构造函数.

当一个函数对象被创建是,Function构造器产生的函数对象会运行类似这样的一些代码:

This.prototype={constructor:this};

新函数对象被赋予一个prototype属性,其值是包括一个constructor属性且属性值为该新函数对象.prototype对象和是存放继承特征的地方.因为javasscript语言没有提供一种方法去确定哪个函数是打算用来做构造器的,所以每个函数都会得到一个prototype对象.

每个对象都连接到一个原型对象,并且他可以从中继承属性。所有通过对象字面量(例如: {name:”张三”} )创建的对象都连接到Object.prototype,这是javascript中标准的对象

示例图:

 

原型连接图:

 

posted @ 2012-04-08 07:02  unbreakable  阅读(288)  评论(0编辑  收藏  举报