js原型-原型链理解

1、prototype

function Person(){  

};

Person.prototype.name = "apple";

var p1 = new Person();

Person函数的 prototype 属性指向了一个对象,这个对象正是调用该构造函数而创建的实例的原型


js原型-原型链理解_第1张图片

2、_proto_

每一个JavaScript对象(除了 null )都具有的一个属性,叫__proto__,这个属性会指向该对象的原型。

接着上面

p1._proto_ === Person.prototype   //true


js原型-原型链理解_第2张图片

3、constructor

每个原型都有一个 constructor 属性指向关联的构造函数

Person === Person.prototype.constructor    //true


js原型-原型链理解_第3张图片

3、原型的原型和原型链

蓝色部分是原型链

js原型-原型链理解_第4张图片


//原型链关系  

xiaohuang.__proto__ === dog.prototype 

 dog.prototype.__proto__ === animal.prototype  

animal.prototype.__proto__ === Object.prototype  

Object.prototype.__proto__ === null  


js原型-原型链理解_第5张图片

你可能感兴趣的:(js原型-原型链理解)