个人总结: 下面这篇文章很好的讲解了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