JavaScript之繼承模式(聖杯模式)

2021-09-11 18:29:57 字數 836 閱讀 8687

1.傳統形式

過多的繼承了沒用的屬性

2.借用建構函式

不能繼承借用建構函式的原型

每次建構函式都要多走乙個函式

function person(name,age,***)

function student(name,age,***,tel,grade)

3.共享原型

不能隨便改動自己的原型

father.prototype =

function father()

function son()

function inherit(target,origin)

inherit(son,father);

var son = new son();

//如果給son新增屬性  son.prototype.*** = 「male」那麼其父親也將擁有這個屬性

即 var father = new fatner();  father.*** == 「male」 -- >true(解決:聖杯模式)

聖杯模式

function inherit(target, origin)

f.prototype = origin.prototype;

target.prototype = new f();

target.prototype.constructor = target;

target.prototype.uber = origin.prototype;//超類

}yahoo(yui): var inherit = (function()

return function(taget,orgin)

}());

JavaScript繼承模式

作用 改變this指向 區別 傳參列表不同 我們通過乙個實際案例來看 function father name,age,hobby function son name,age,hobby,grade var son new son xiaozhuan 13,football 2000 這樣繼承父親中...

javascript中繼承模式

一.每個方法function都有原型prototype屬性,這個屬性是構造方法構造出來的物件的公有祖先 當使用建構函式new出物件時,隱式地在構造方法開頭新增var this 在函式末尾加上return this.子類只可以訪問父類的屬性但不能修改,如果修改那麼會在自己的屬性上加 二.繼承的發展史 ...

javascript之工廠模式

工廠模式,根據不同的引數來產生不同的物件 23中設計模式之一 需求 產生不同的手機物件 var p1 批量的產生物件,根據具體引數來確定屬性 function phone color,size,cpu object型別 obj.color color obj.size size obj.cpu cp...