日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > web前端 > jscript > Javascript繼承匯總

Javascript繼承匯總

來源:程序員人生   發(fā)布時間:2013-10-30 22:19:08 閱讀次數(shù):3522次
本文是我在看完《Javascript 王者歸來》后的整理總結(jié),文章詳細章節(jié)在 第21章 P537

繼承一般要實現(xiàn)以下三層含義:

1)子類實例可以共享父類的方法;

2)子類可以覆蓋父類的方法或者擴展新的方法;

3)子類和父類都是子類實例的類型。

一、構(gòu)造繼承法

子類中調(diào)用父類的構(gòu)造函數(shù)來維護的,該繼承法能實現(xiàn)多重繼承,但只能繼承父類的共有方法,無法繼承靜態(tài)方法,而且不能用instanceof來驗證實例。

function a(){
this.say=function(){
alert("happy new year!");
}
}

function b(){
a.apply(this,arguments);
}

a.prototype.fuck=function(){
alert("%^&%^&%&^%&");
}

var oB=new b();
alert(oB instanceof a);// false
oB.say(); // happy new year
oB.fuck(); // 讀不到

二、原型繼承法/經(jīng)典繼承法

該繼承法是通過復制已經(jīng)存在的原型對象來實現(xiàn)行為重用,讓對象實例共享原型對象的屬性。支持多重繼承,繼承原型靜態(tài)方法,能用instanceof來驗證實例。

function a(){
this.say=function(){
alert("happy new year!");
}
}

function b(){}

a.prototype.fuck=function(){
alert("%^&%^&%&^%&");
}

a.prototype.z=123;
b.prototype=new a();

var oB=new b();
alert(oB instanceof a); // true
alert(oB.z); // 123
oB.say(); // happy new year
oB.fuck(); // %^&%^&%&^%&

三、實例繼承法/寄生構(gòu)造函數(shù)模式

構(gòu)造法不能繼承類型的靜態(tài)方法,原型繼承得不完善(某些核心對象的不可枚舉方法不能繼承),而實例繼承法能對原生核心對象或者DOM對象進行繼承,它通過在類型中構(gòu)造對象并返回的辦法來實現(xiàn)繼承,因此instanceof驗證會是false,不支持多重繼承。

function a(){
var oA=new Array();
oA.say=function(){
alert("hello A!");
}
return oA;
}

var obj=new a();
alert(obj instanceof a); // false
obj.say();

四、拷貝繼承法

該方法通過拷貝基類對象的所有可枚舉屬性和方法來模擬繼承,因此它可以模擬多繼承,但不能枚舉的就無法繼承;它可以繼承父類的靜態(tài)方法;

function a(){
this.num=123;
this.say=function(){
alert("happy new year!");
}
}

function b(){
this.extends=function(obj){
for(each in obj){
this[each]=obj[each];
}
}
}

var oB=new b();
oB.extends(new a());

alert(oB instanceof a); // false
alert(oB.num); // 123
oB.say(); // happy new year

五、混合繼承法

顧名思義就是把上面幾種繼承法綜合起來,取長補短,讓繼承更完善。常見的有 構(gòu)造+原型繼承:偽經(jīng)典繼承

function a(){
this.num=123;
this.say=function(){
alert("happy new year!");
}
}

function b(){
a.apply(this);
}

b.prototype=new a();
b.prototype.z=123;

var oB=new b();
alert(oB instanceof a); // true
alert(oB.num); // 123
oB.say(); // happy new year

六、各種繼承法的優(yōu)缺點

Javascript繼承匯總

文章來源:http://blog.sina.com.cn/s/blog_74d6cedd0100z7z3.html

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品视频一二三区 | 国产精品久久久久久久久久新婚 | 天天操综合网 | 啪啪av大全导航福利综合导航 | 国产日批 | 亚洲欧美日韩在线不卡 | 精品久久久久久亚洲综合网 | 久久色av| jizzjizz女人水多 | 激情视频国产 | 日韩精品高清一区二区三区 | 成人免费网站 | 男女精品视频 | 欧美人成在线视频 | 天天爱综合 | 国产在线国偷精品免费看 | 久久精品欧美 | 日韩av中文在线 | 日本在线视频一区二区三区 | 91视频官网 | 亚洲精品综合在线观看 | 欧美性video| 国产精品久久久久久久久久 | 国产九九精品 | 九九九九精品九九九九 | 亚洲一二三四区电影 | 91精品一区二区三区久久久久久 | 不卡二区 | 国产噜噜噜噜噜久久久久久久久 | 国产免费a | 国产乱国产乱300精品 | 精品精品国产三级a∨在线 在线国产精品视频 | 亚洲一区二区三区精品在线 | 成人激情在线 | 色在线播放 | 国产精品美女久久久久 | 免费a级毛片, | 久久精品视频在线播放 | 玖玖玖精品 | 国产福利视频网站 | 成人在线视频免费 |