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...