再次理解JS的prototype,__proto__和constructor

个人总结: 下面这篇文章很好的讲解了js原型,原型链,个人的总结是要记住这三个属性 prototype、__proto__和constructor

首先明确,js中一切都是对象object(A)。 (这里用A来表示)

这个对象object分为

实例对象(B)(A和B是两个不同的对象...这个意思很难表达),函数,原型对象这三种类型。

只要是函数就有prototype属性,它指向,这个函数的原型对象。

只要是对象(A)就有__proto__属性,它指向实例化这个对象的函数的原型对象。

只要是原型对象就有constructor属性,它指向它的构造函数。

function Peson(name.age)

{

this.age = name;

this.age = age;

}

var huhao = new Person(huhao,23);

来分析一下:

Person是一个函数,所以Person有prototype和__proto__属性,

prototype属性指向Person.Prototype

__proto__属性指向Function.Prototype

huhao是一个对象,所以huhao有__proto__属性

__proto__属性Person.Prototype

所以Person.prototype == huhao.__proto__

Person.prototype.constructor == Person

原文地址:https://www.cnblogs.com/eret9616/p/9024341.html