图片来自基友 kzloser
图片说明
1.总共三类对象(蓝色大框)
2.实例对象(通过new XX() 所得到的实例),跟原型链相关的只有 __proto__
属性,指向其对应的原型对象 *.prototype
。
3.构造函数对象分原生和自定义两类。跟原型链相关的有 __proto__
属性,除此之外还有 prototype
属性。它们的 __proto__
属性都是指向 Function.prototype
这个原型对象的。prototype
也是指向对应的原型对象。
4.原型对象除了一样拥有 __proto__
外,也拥有独有的属性 constructor
。它的__proto__
指向的都是 Object.prototype
,除了 Object.prototype
本身,它自己是指向 null
。而 constructor
属性指向它们对应的构造函数对象。
5.原型链是基于 __proto__
的。实例只能通过其对应原型对象的 constructor
才能访问到对应的构造函数对象。构造函数只能通过其对应的 prototype
来访问相应的原型对象。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。