書接上文[[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