关于前端:JS-javascript中的原型链03-原型链的终点

39次阅读

共计 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

正文完
 0