麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

Javascript編程之繼承實例匯總

2019-11-20 11:08:27
字體:
來源:轉載
供稿:網友

本文實例講述了Javascript編程之繼承。分享給大家供大家參考,具體如下:

這篇文字是在看完《Javascript 王者歸來》后的整理總結,文章詳細章節在 第21章 P537

繼承一般要實現以下三層含義:

1)子類實例可以共享父類的方法;
2)子類可以覆蓋父類的方法或者擴展新的方法;
3)子類和父類都是子類實例的類型。

一、構造繼承法

子類中調用父類的構造函數來維護的,該繼承法能實現多重繼承,但只能繼承父類的共有方法,無法繼承靜態方法,而且不能用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);// falseoB.say();       // happy new yearoB.fuck();       // 讀不到

二、原型繼承法/經典繼承法

該繼承法是通過復制已經存在的原型對象來實現行為重用,讓對象實例共享原型對象的屬性。支持多重繼承,繼承原型靜態方法,能用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); // truealert(oB.z);      // 123oB.say();        // happy new yearoB.fuck();       // %^&%^&%&^%&

三、實例繼承法/寄生構造函數模式

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

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

四、拷貝繼承法

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

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); // falsealert(oB.num);     // 123oB.say();        // happy new year

五、混合繼承法

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

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); // truealert(oB.num);     // 123oB.say();        // happy new year

六、各種繼承法的優缺點

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久精片| 视频一区二区三区在线观看 | 91精品国产一区二区三区动漫 | 午夜伊人 | 牛牛a级毛片在线播放 | 91九色国产视频 | 精品国产91一区二区三区 | 草草久| 黄色av网站在线观看 | 香蕉成人在线视频 | 91精彩在线| 精品国产九九九 | 国产免费黄色 | 欧美日韩大片在线观看 | 午夜视频播放 | 黄色大片网站在线观看 | va毛片 | 久久99网 | 国产羞羞视频免费在线观看 | 中国黄色一级生活片 | av电影免费观看 | 久久久久亚洲a | 免费国产一区 | 蜜桃传媒视频麻豆第一区免费观看 | 欧美综合日韩 | 国产一级淫片在线观看 | av免费av| 精品国产91久久久久 | 国内精品久久久久久久影视红豆 | 国产精品999在线观看 | va视频在线观看 | 国产99视频精品免视看9 | 蝌蚪久久窝 | 成av在线| 日韩视频在线不卡 | 欧美在线观看禁18 | 激情毛片| 国产精品成人一区二区三区吃奶 | 精品久久久久久国产三级 | 嗯哈~不行好大h双性 | 激情网站免费观看 |