繼承的發展史
1.傳統形式(原型繼承) ,過多繼承了沒有用的屬性
例子:
grand.prototype.lastname = '張三';function grand()
var grand = new
grand();
father.prototype =grand;
function father()
var father = new
father();
son.prototype =father;
function
son(){}
var son = new
son();
console.log(son.lastname);
例子:
//借用建構函式
a.prototype.lastname = '李四';
function
a()function
b(age,name,***,address)
var b = new
b();
console.log(b.lastname);
3.共享原型,不能隨便改動自己的原型 (使用廣)
//共享原型
a.prototype.lastname='王五';
function
a(){}
b.prototype =a.prototype;
function
b(){}
var b = new
b();
console.log(b.lastname);
//封裝一下
function
extend(target,origin)
a.prototype.lastname = '趙六';
function
a(){}
function
b(){}
var b = new
b();
extend(b,a);
console.log(b.lastname);
4.聖杯模式
//聖杯模式(完美版繼承)
var extend = (function
();
return
function
(target,origin)
}())
a.prototype.lastname = '田七';
function
a(){}
function
b(){}
extend(b,a);
var b = new
b();
console.log(b.lastname);
js中的繼承
繼承有兩種方式 介面繼承和實現繼承。介面繼承只繼承方法簽名,而實現繼承則繼承實際的方法。由於函式沒有簽名,在ecmascript中無法實現介面繼承。ecmascript只支援實現繼承,而且實現繼承主要依靠原型鏈來實現。下面介紹幾種js的繼承 原型鏈繼承實現的本質是重寫原型物件,代之以乙個新型別的例項...
JS中的繼承
定義乙個動物類 實現下面的繼承 function animal name animal.prototype.eat function food 1 原型鏈繼承 核心 將父類的例項作為子類的原型 function cat cat.prototype new animal cat.prototype.n...
JS中的繼承
對於乙個從事前端開發的工作者,如果對js中的原型 原型鏈 繼承等這些了解不透徹,說明你還是個初學者哦!下面我們來談談繼承這些事吧 建構函式中有乙個 prototype的指標,指向其原型物件,原型物件中有乙個constructor指標指向建構函式,例項中有乙個 prototype 指標指向原型物件。那...