js中的繼承

2022-09-09 00:12:22 字數 1425 閱讀 1692

繼承的發展史

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 指標指向原型物件。那...