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

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

Javascript 框架之繼承機制

來源:程序員人生   發(fā)布時間:2014-04-13 03:27:05 閱讀次數(shù):2716次

  網(wǎng)(LieHuo.Net)教程 大一點的框架都有這個東西。Prototype原來的繼承機制非常弱,為了與mootools對抗也強化了這一方面。嘛,要用原型繼承來模仿類繼承,都基本存在一個克隆函數(shù)。把父類的原型屬性復制到子類上去。理念的東西暫時這么多,動手實踐一下最實際。我們設計一個數(shù)組類,擁有原生數(shù)組的能力與新擴展的能力。


提示:可修改后代碼再運行!

  很顯然這是工廠方法,生成的原生數(shù)組,如果要擴展而不污染原生數(shù)組就又要再加一重包裝。我們看繼承是怎樣實現(xiàn)的。這涉及到兩個類,原生數(shù)組類與新數(shù)組類。先看代碼:


提示:可修改后代碼再運行!

  由于javascript的原型鏈的關系,我們不能直接var Array2 = Array;var a = new Array2;這樣一旦從Array2的原型添加新方法(添加方法都建議往原型里加,不建議做成類方法)時,Array的原型也被加上了,因為它們是在同一條船上。我們必須斷開它們。于是我們需要一個Parent函數(shù)做橋接。我們可以說Array為目標父類,Parent為真正父類。先把目標父類的原型賦給Parent的原型,這樣Parent就擁有其所有公開的方法,然后我們再把這些方法賦給Array2。但這時Array2的實例的constructor 仍為原生的數(shù)組,我們要修正一下。我們可以參見下圖看Prototype與constructor的關系。

  我們再把部分代碼抽取出來做成一個方法:

var makeBridge = function(klass) {
var bridge = function() {};
bridge.prototype = klass.prototype;
return new bridge;
}
Array2 = function(){};
Array2.prototype = makeBridge(Array);
Array2.prototype.constructor = Array2;


提示:可修改后代碼再運行!

  上面的_mixin方法是最常見的繼承方法,早期的Prototype也是依靠來拷貝原型方法,堂而皇之地稱之為extend,而且什么也情況也不考慮。在Ext這里分成幾種情況apply,applyif,override。在mootools中則叫add。

  好了,我們來考慮如何訪問父類方法(我們可以通過重載方法來區(qū)分哪是子類方法,哪是父類方法)。要想訪問父類方法,就必須能訪問父類,我們把父類的名稱保存在子類原型的一個屬性即可。我們把makeBridge方法擴展一下,更名為inherit。


提示:可修改后代碼再運行!

  但是這樣做還是不爽,因為我們還是需要手動設置var Tiger = function(){}這個空函數(shù),這個下回再說。

  作者博客:http://www.cnblogs.com/rubylouvre/

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
為碼而活
積分:4237
15粉絲
7關注
欄目熱點
關閉
程序員人生
主站蜘蛛池模板: 欧美精选一区二区 | 日韩高清影片在线观看 | 欧美一区二区精品久久久 | 成人av影视 | ...99久久国产成人免费精品 | 欧美一区二区久久 | 粉嫩久久99精品久久久久久夜 | 国产伦精品一区二区 | 青青草这里只有精品 | 欧美激情视频一区二区三区不卡 | 亚洲欧美日韩三级 | 美国三级日本三级久久99 | 九九精品久久 | 成人高清视频在线观看 | 91精品国产欧美一区二区成人 | 免费99视频 | 91人人看 | 毛片免费看 | 日韩综合一区 | 精品福利一区二区 | 久久9热| 美女很黄很黄的网站 | 国产精品大片 | 国产精品永久 | 天堂网2018| 久久九九免费视频 | 韩日av网站 | 国产三级电影在线播放 | av网站入口 | 九九热精品在线 | 99久精品视频 | 国产98在线 | 日韩 | 毛片视频播放 | 福利精品 | 成人精品久久 | 国产一区二区三区在线看 | 性久久久久久 | 国产精品久久久久久久久 | 亚洲欧洲国产视频 | 婷婷激情五月 | 在线中文字幕视频 |