基于構(gòu)造函數(shù)的五種繼承方法小結(jié)
1.使用call或apply綁定構(gòu)造函數(shù)
animal.apply(this.arguments)
2.使用prototype屬性
Cat.prototype = new Animal();
Cat.prototype.constructor = Cat;
var cat1 = new Cat("大毛","黃色");
alert(cat1.species); // 動(dòng)物
3.直接集成prototype屬性
function Animal(){ }
Animal.prototype.species = "動(dòng)物";
Cat.prototype = Animal.prototype;
Cat.prototype.constructor = Cat;
var cat1 = new Cat("大毛","黃色");
alert(cat1.species); // 動(dòng)物
4.利用空對(duì)象作為中介
var F = function(){};
F.prototype = Animal.prototype;
Cat.prototype = new F();
Cat.prototype.constructor = Cat;
將上面的方法封裝成一個(gè)函數(shù),便于使用:
function extend(Child, Parent) {
var F = function(){};
F.prototype = Parent.prototype;
Child.prototype = new F();
Child.prototype.constructor = Child;
Child.uber = Parent.prototype;
}
5.拷貝繼承
function extend2(Child, Parent) {
var p = Parent.prototype;
var c = Child.prototype;
for (var i in p) {
c[i] = p[i];
}
c.uber = p;
}
這個(gè)函數(shù)的作用,就是將父對(duì)象的prototype對(duì)象中的屬性,一一拷貝給Child對(duì)象的prototype對(duì)象。
以上這篇基于構(gòu)造函數(shù)的五種繼承方法小結(jié)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
javascript實(shí)現(xiàn)全屏頁(yè)面滾動(dòng)效果
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)全屏頁(yè)面滾動(dòng)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
讓回調(diào)函數(shù) showResponse 也帶上參數(shù)的代碼
讓回調(diào)函數(shù) showResponse 也帶上參數(shù)的代碼...2007-08-08
JavaScript 2048 游戲?qū)嵗a(簡(jiǎn)單易懂)
使用javascript制作的2048小游戲非常好玩,有意思,下面給大家分享使用javascript代碼制作的2048游戲,需要的朋友參考下吧2016-03-03
基于Bootstrap框架實(shí)現(xiàn)圖片切換
這篇文章主要介紹了基于Bootstrap框架實(shí)現(xiàn)圖片切換的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03
js實(shí)現(xiàn)文本框?qū)挾茸赃m應(yīng)文本寬度的方法
這篇文章主要介紹了js實(shí)現(xiàn)文本框?qū)挾茸赃m應(yīng)文本寬度的方法,可實(shí)現(xiàn)根據(jù)文本框內(nèi)容動(dòng)態(tài)改變寬度的功能,涉及javascript動(dòng)態(tài)操作頁(yè)面元素屬性的技巧,需要的朋友可以參考下2015-08-08

