Javacript原型鏈深入理解及原型圖

1. js的繼承機制

在js中,“萬物皆對象”,而對象間的繼承是通過原型繼承(即構造函數的prototype屬性)實現的,該prototype屬性的值是個對象(簡稱prototype對象吧),prototype對象在構造函數創建的所有實例中是共享的。而每個對象都是由對應的構造函數創建的,所以每個對象都可通過object.__proto__的方式訪問構造函數的prototype對象。
tips:Function

2.js原型關係

原型圖:
這裏寫圖片描述
控制檯驗證:
這裏寫圖片描述

3.總結:

因爲js裏面沒有類,所以對象之間的繼承是通過js特有的原型鏈來實現的。每個對象除了手動添加的屬性(包含普通屬性和方法,如:name:“zs”,say:function(){})外,都含有一個被自動添加的屬性對象(鍵名:_proto_,鍵值:prototype對象值),該prototype屬性對象中也都有一個constructor鍵,指向他的構造函數。上例原型關係如下:
f.__proto__和Foo.prototype是同一個對象,Foo.prototype.constructor = Foo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章