参考文章
1.Person
为构造函数
person1.constructor == Person
person1.constructor == Person
Person.prototype.constructor == Person
person1._proto_ == Person.prototype;
2.每个对象都有 proto
属性,但只有函数对象才有 prototype
属性
3.原型对象,顾名思义,它就是一个普通对象
4.在默认情况下,所有的原型对象都会自动获得一个constructor
(构造函数)属性,这个属性(是一个指针)指向 prototype
属性所在的函数(Person)
5.那Person.prototype
为什么有 constructor
属性??同理, Person.prototype
(你把它想象成 A) 也是Person
的实例。
也就是在 Person
创建的时候,创建了一个它的实例对象并赋值给它的 prototype
,基本过程如下:
var A = new Person();
Person.prototype = A;
6.原型和原型链是JS实现继承的一种模型。
7.原型链的形成是真正是靠_proto_
而非prototype