原型 原型鏈

2021-09-26 03:09:54 字數 894 閱讀 6807

在最近的原型和原型鏈的學習中,感覺壓力有點大,學習難度也比較大,但又很基礎很重要,我們在學習中得要下很大的功夫才行。

無論什麼時候,只要建立了乙個新的函式,就會根據一組特定的規則為這個函式建立乙個prototype的屬性,prototype這個屬性指向函式的原型物件,然後所有的的原型物件都會有乙個constructor的屬性,這個屬性包含著乙個指向prototype屬性所在函式的指標。

原型鏈的基本思想就是利用原型讓乙個引用型別繼承另乙個引用型別的屬性和方法,然後層層遞進就構成了例項與原型的鏈條,這就是原型鏈的基本概念。

原型它本身也是個物件,因此原型物件它也有原型,有物件就會有__proto__,然後由多級父元素逐級繼承形成的鏈式結構。

原型鏈儲存著所有物件的成員的方法和屬性。作用鏈儲存著所有的變數。

原型鏈的作用是用來控制物件訪問成員的使用順序,優先使用自己的,如果自己沒有,才會沿著原型鏈向父級查詢;作用於的作用是控制變數的使用順序,優先使用活動物件中的區域性變數,如果區域性中沒有的話就去沿用作用域鏈向父級作用域查詢。

原型鏈的最頂端是:object.prototype;作用域鏈的中點是window。所有不需要「物件.」訪問的變數都儲存在作用域鏈中。所有需要用「物件」訪問的變數都儲存在原型鏈中。

驗證原型物件,如果乙個物件的原型物件是array.prototype的話,那麼用bject.getprototypeof(obj) == array.prototype來獲得指定obj的原型物件;cosole.log(object.getprototypeof(obj1) == array.prototype,object.getprototypeof(obj2) == array.prototype).

建構函式就是只要可以new的型別就都是建構函式,var arr = new array()每個內建物件的建構函式都對應乙個內建的原型物件。

原型 原型鏈

var animal function var dog function animal.price 2000 dog.prototype animal var tidy new dog console.log dog.price 為什麼輸出 undefined console.log tidy.pr...

原型,原型鏈

原型object.hasownproperty proname object 乙個物件的例項 propname 乙個屬性名稱的字串值 返回乙個布林值原型鏈中的this 原型物件 原型物件的作用 一般情況下,會把方法宣告在原型物件裡。目的是實現繼承。當物件訪問自身屬性或方法時,先從自身找有沒有,如果有...

原型 原型鏈

1 所有的物件,都有prototype屬性。只不過 例項的prototype 是 undefined。2 所有的建構函式 都是 function 的例項。外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img jm7mc8gh 1597897515025 原型.png js中每個物件都有...