理解js原型鏈__proto__與prototype的關係

js cdn 參考鏈接:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Inheritance_and_the_prototype_chain

1.

每個實例對象( object )都有一個私有屬性(稱之爲__proto__)

// 定義函數Aa()
function Aa() {}

// 實例化對象bb
var bb = new Aa();

// 每個實例對象( bb )都有一個私有屬性(稱之爲__proto__)
bb.__proto__
2.

__proto__指向它的構造函數原型對象(prototype )

// __proto__指向它的構造函數的原型對象(prototype)
bb.__proto__ === Aa.prototype
3.

原型對象也有一個自己的原型對象( __proto__ )

// 該原型對象也有一個自己的原型對象( __proto__ )
Aa.prototype.__proto__
4.

層層向上,直到一個對象的原型對象null

// 層層向上
Aa.prototype.__proto__ === Object.prototype

// 直到一個對象的原型對象爲null
Object.prototype.__proto__
5.

根據定義,null 沒有原型,並作爲這個原型鏈中最後一個環節

注:對於新手來說,實在不理解就背過吧,背過+多看幾遍=理解x80%

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