书接上文[[JS] javascript中的原型链02 prototype&constructor](https://segmentfault.com/a/1190000043925349)

为了逻辑关系的清晰,咱们去掉示意constructor的线条,加上Object对象,用.__proto__达到原型链的起点null。


javascript中原型链的起点是null,(Object.prototype.__proto__ === null这就是原型链的起点)

还有一个非凡的关系要留神
Object.__proto__ === Function.prototype (上图的橙黄色线条)

这之后,咱们别离从实例对象和一般对象登程,上溯到原型链的起点。(下图中新增的p2,以及新增的两条橙黄色线条)

实例对象:
p1.__proto__.__proto__.__proto__ === null;

解释:
p1.__proto__ === Person.prototype;
Person.prototype.__proto__ === Object.prototype;
Object.prototype.__proto__ === null;

一般对象:
p2.__proto__.__proto__ === null;

解释:
p2.__proto__ === Object.prototype;
Object.prototype.__proto__ === null;

(察看下图从p1、p2登程的.__proto__始终到null的路线)

下面这张图就是JS中残缺的原型链示意了。

完结。

同步更新到本人的语雀
https://www.yuque.com/dirackeeko/blog/gq82skuhh1lyybr1