动态

详情 返回 返回

[JS] javascript中的原型鏈03 原型鏈的終點 - 动态 详情

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

為了邏輯關係的清晰,我們去掉表示constructor的線條,加上Object對象,用.__proto__到達原型鏈的終點null。

image.png
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的路線)
image.png

上面這張圖就是JS中完整的原型鏈示意了。

完結。

同步更新到自己的語雀
https://www.yuque.com/dirackeeko/blog/gq82skuhh1lyybr1

user avatar anchen_5c17815319fb5 头像 yangxiansheng_5a1b9b93a3a44 头像 morimanong 头像 risejl 头像 limingxin 头像 gssggssg 头像 nqbefgvs 头像 lxlu 头像 laomao_5902e12974409 头像 ranck 头像 _58d8892485f34 头像
点赞 11 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.