js中的繼承關係,詳解

2021-09-25 09:10:46 字數 704 閱讀 8768

在js中繼承分為兩種:

1.偽類繼承

2.原型鏈繼承

1.偽類繼承

借用建構函式來使用父類中的屬性,方法。不能繼承父類的建構函式原型 

function animal(name,age) 

function dog(gender)

var dog = new dog('tom',3,'male');

console.log(dog instanceof animal) //false

此處dog的建構函式不是animal,因為是為類繼承,所以dog和animal並不在乙個原型鏈上。

2.原型鏈繼承

dog.prototype = new animal() 

將dog的原型作為animal的乙個例項,這樣就把dog放到了animal的原型鏈上了,也就可以說dog的建構函式時animal

function animal(name,age) 

function dog(name,age,gender)

dog.prototype = new animal() //例項

var dog = new dog('tom',3,'male');

console.log(dog instanceof animal)//true

js中的繼承詳解

在js中實現的繼承的方法可以有多種,除了原型繼承之後,還可以使用借用 偽造建構函式的方法實現繼承等等。接下來我們就詳細的介紹一下這幾種方式。在js中實現原型繼承的方式是借用建構函式的原型和例項來實現 這種方式就是基於原型實現的繼承,但是原型繼承有乙個很大的缺點,就是沒有辦法使用上級函式的私有屬性邏輯...

JS 之 繼承關係

今天跟大家分享下js 之 繼承關係的知識。即子類通過prototype將所有在父類中通過prototype追加的屬性和方法都追加到child,從而實現了繼承。為了讓子類繼承父類的屬性 也包括方法 首先需要定義乙個建構函式。然後,將父類的新例項賦值給建構函式的原型。function parent fu...

繼承關係對映詳解

繼承關係對映 繼承在物件模型中是 is a 是乙個 的關係,但在關係模型中,實際之間只有has a 有乙個 的關係,也就是說,繼承在物件模型和關係模型上是不匹配的,索性的是hibernate提供了3中常用的繼承映方案。一 整個繼承層次一張表 把整個繼承層次的多個類的資訊存放到一張表裡。需要在表中新增...