Js 物件之間的繼承及原型鏈查詢分析

2022-06-30 21:33:13 字數 561 閱讀 2195

這種繼承的缺點是,只能繼承一次,不適用屬性的繼承。

student函式部分的原型圖

完整的原型鏈查詢:

將person物件的例項賦值給student.prototype,所以s1指向的原型物件是person物件。

而person的message()方法則存放在person的原型物件中,所以s1在呼叫方法時,首先在自身的方法中查詢,沒有查詢到;繼續向原型查詢,自己的原型上還沒有找到方法;那麼原型方法又要在自己的原型上繼續查詢,找到message()方法。

如果還未找到,即person的原型物件上還是沒有該方法,則繼續想person原型物件的原型物件查詢,查詢object原型物件,若還沒有,則查詢錯誤。

js原型物件 原型鏈 繼承

原型物件 只要建立了乙個新函式,就會根據一些特定的規則為該函式建立乙個prototype屬性,這個屬性指向的物件就是該新函式的原型物件。預設情況下,所有原型物件都會自動獲取乙個constructor屬性,這個屬性是乙個指向prototype屬性所在函式的指標 原型物件的優點 可以讓所有物件例項共享它...

原型及原型鏈繼承之間的關係

什麼是原型?1.原型產生的原因 例項化其實是乙個很耗費記憶體空間的,通過建構函式去例項物件的時候,每乙個物件中的屬性和方法都是在自己的空間,那麼當有多個物件的時候,這些屬性和方法就有多少個在各自的空間中存在在,所以很浪費空間,因此,為了解決這個問題,實現資料共享,原型就產生了。2.建構函式中有個pr...

JS物件繼承與原型鏈

在 class based 的物件導向的世界裡,要出現物件,必須先有類。類之間可以繼承,類再使用 new 操作建立出實體,父子物件之間的繼承體現在父類和子類上。你不能說 物件 a 繼承了物件 b,只能說 class a 繼承了 class b,然後他們各自有乙個例項a b。js中實現的是原型繼承。在...