在js中實現的繼承的方法可以有多種,除了原型繼承之後,還可以使用借用、偽造建構函式的方法實現繼承等等。接下來我們就詳細的介紹一下這幾種方式。
在js中實現原型繼承的方式是借用建構函式的原型和例項來實現:
這種方式就是基於原型實現的繼承,但是原型繼承有乙個很大的缺點,就是沒有辦法使用上級函式的私有屬性邏輯,並且上級函式的私有屬性也會進入到下級函式的原型中,從而可能會出現undefined的情況
這就是使用借用的方式實現的繼承,這種方式和原型繼承相比可以使用上級函式的私有屬性啦,但是不能使用上級函式原型中的屬性和方法。
原型繼承:原型繼承是通過函式原型和例項的方式實現的繼承,可以使用上級函式原型中的內容,但是不能使用上級函式的私有屬性邏輯,並且上級函式的私有屬性會傳遞到下級函式的原型,會造成undefined的情況
將兩種實現繼承的方式結合在一起,這樣的話就具有了上面兩種方式共同的優點
js中的繼承關係,詳解
在js中繼承分為兩種 1.偽類繼承 2.原型鏈繼承 1.偽類繼承 借用建構函式來使用父類中的屬性,方法。不能繼承父類的建構函式原型 function animal name,age function dog gender var dog new dog tom 3,male console.log ...
js中的繼承
繼承有兩種方式 介面繼承和實現繼承。介面繼承只繼承方法簽名,而實現繼承則繼承實際的方法。由於函式沒有簽名,在ecmascript中無法實現介面繼承。ecmascript只支援實現繼承,而且實現繼承主要依靠原型鏈來實現。下面介紹幾種js的繼承 原型鏈繼承實現的本質是重寫原型物件,代之以乙個新型別的例項...
JS中的繼承
定義乙個動物類 實現下面的繼承 function animal name animal.prototype.eat function food 1 原型鏈繼承 核心 將父類的例項作為子類的原型 function cat cat.prototype new animal cat.prototype.n...