图片来自基友 kzloserjavascript
1.总共三类对象(蓝色大框)java
2.实例对象(经过new XX() 所获得的实例),跟原型链相关的只有 __proto__
属性,指向其对应的原型对象 *.prototype
。函数
3.构造函数对象分原生和自定义两类。跟原型链相关的有 __proto__
属性,除此以外还有 prototype
属性。它们的 __proto__
属性都是指向 Function.prototype
这个原型对象的。prototype
也是指向对应的原型对象。spa
4.原型对象除了同样拥有 __proto__
外,也拥有独有的属性 constructor
。它的__proto__
指向的都是 Object.prototype
,除了 Object.prototype
自己,它本身是指向 null
。而 constructor
属性指向它们对应的构造函数对象。prototype
5.原型链是基于 __proto__
的。实例只能经过其对应原型对象的 constructor
才能访问到对应的构造函数对象。构造函数只能经过其对应的 prototype
来访问相应的原型对象。code