共计 725 个字符,预计需要花费 2 分钟才能阅读完成。
书接上文 [[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