js 實現繼承

2021-09-22 16:34:02 字數 1404 閱讀 9660

1. 物件冒充

例項:var parent = function (username)

}var child = function (username, age)

}var p = new parent('tim')

var s = new child('little time', 5)

p.getusername()

s.getusername()

s.getage()

2. call方式

call方法是function類中的方法

call方法的第乙個引數的值賦值給類(即方法)**現的this

call方法的第二個引數開始依次賦值給類(即方法)所接受的引數

例項:var parent = function (username)

}var child = function (username, age)

}var p = new parent('tom')

var s = new child('little tom', 12)

p.read()

s.read()

s.getage()

第乙個引數與call方法的第乙個引數一樣,即賦值給類(即方法)**現的this

第二個引數為陣列型別,這個陣列中的每個元素依次賦值給類(即方法)所接受的引數

例項:var parent = function (username)

}var child = function (username, age)

}var p = new parent('shary')

var s = new child('little shary', 19)

p.getname()

s.getname()

s.getage()

4. 原型鏈方式

即子類通過prototype將所有在父類中通過prototype追加的屬性和方法都追加到child,從而實現了繼承

例項:var parent = function () {}

parent.prototype.username = 'parent'

parent.prototype.getname = function ()

var child = function () {}

child.prototype = new parent()

child.prototype.getage = function (age)

var p = new parent()

p.getname()

var s = new child()

s.getname()

s.getage(70)

JS實現繼承

1.使用物件冒充實現繼承 該種實現方式可以實現多繼承 實現原理 讓父類的建構函式成為子類的方法,然後呼叫該子類的方法,通過this關鍵字給所有的屬性和方法賦值 function parent firstname function child firstname var mychild new chi...

js實現繼承

通過修改原型的指向實現的繼承,雖然實現了繼承,但是繼承後的例項物件的屬性值都是一樣的 都是 zs,20,男 只有自己定義的屬性值不一樣。使用這種方式實現的繼承,不能繼承父類的方法,只能繼承父類的屬性。方式一 var obj1 通過這種方式只是讓obj2指向了和obj1相同的一塊位址空間,記憶體中只有...

js 實現繼承

在開始擺弄 之前,應該搞清楚使用繼承的目的和能帶來什麼好處。一般來說,在設計類的時候,我們希望能減少重複性的 並且盡量弱化類之間的耦合。而要做到這兩者都兼顧是很難的,我們需要根據具體的條件和環境下決定我們應該採取什麼方法。根據我們對物件導向語言中繼承的了解,繼承會帶類直接的強耦合,但js由於其特有的...