原型和原型链初识

93 阅读1分钟

构造函数:

function Animals(){ };

实例对象:

var pig = new Animals(); var pig1= new Animals();

实例原型:

Animals.prototype

pig._proto_

实例原型找构造函数:

Animals.prototype.constructor

pig._proto_.constructor

原型对象的原型

Animals.prototype._proto_

再继续往下找原型 Animals.prototype._proto_._proto_一直找到空null为止。

Animals,用new创建*实例对象pig和pig1

函数具有prototype属性。Animals.prototype是animals创建的实例对象的原型。而原型则可以通过constructor属性拿到构造函数animals。

于是构造函数和它的原型就找到了对应。

而通过构造函数创建的实例对象则通过 proto 指向实例原型。 pig.proto

实例原型本身也是对象,因此他也可以用 proto 找到自己的原型Object.prototype。

实例对象可以通过原型链拿到别人的属性。

)