一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

javascript框架之繼承機(jī)制(一)

大一點(diǎn)的框架都有這個(gè)東西。Prototype原來(lái)的繼承機(jī)制非常弱,為了與mootools對(duì)抗也強(qiáng)化了這一方面。嘛,要用原型繼承來(lái)模仿類繼承,都基本存在一個(gè)克隆函數(shù)。把父類的原型屬性復(fù)制到子類上去。理念的東西暫時(shí)這么多,動(dòng)手實(shí)踐一下最實(shí)際。我們?cè)O(shè)計(jì)一個(gè)數(shù)組類,擁有原生數(shù)組的能力與新擴(kuò)展的能力。

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

由于Javascript的原型鏈的關(guān)系,我們不能直接var Array2 = Array;var a = new Array2;這樣一旦從Array2的原型添加新方法(添加方法都建議往原型里加,不建議做成類方法)時(shí),Array的原型也被加上了,因?yàn)樗鼈兪窃谕粭l船上。我們必須斷開(kāi)它們。于是我們需要一個(gè)Parent函數(shù)做橋接。我們可以說(shuō)Array為目標(biāo)父類,Parent為真正父類。先把目標(biāo)父類的原型賦給Parent的原型,這樣Parent就擁有其所有公開(kāi)的方法,然后我們?cè)侔堰@些方法賦給Array2。但這時(shí)Array2的實(shí)例的constructor 仍為原生的數(shù)組,我們要修正一下,也就是把它的原型上的constructor屬性指向自己(Array2)即可(原來(lái)是Array)。我們可以參見(jiàn)下圖看Prototype與constructor的關(guān)系。

it知識(shí)庫(kù)javascript框架之繼承機(jī)制(一),轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 精品色网 | 欧色视频| 久久天天丁香婷婷中文字幕 | 91高清视频在线观看 | 日本不卡一区二区三区视频 | 国产成人精品日本亚洲专利 | 国产美女精品一区二区三区 | 一本加勒比hezyo东京re高清 | 另类av | 热久久99影院 | 中文字幕一区二区日产乱码 | 一本大道香蕉久97在线视频 | 国产精品精品 | 久久老色鬼天天综合网观看 | 都市激情一区 | 国产欧美亚洲精品综合在线 | 亚洲成a人 | 小视频在线观看免费 | 免费激情 | 韩国视频一区 | 在线播放国产区 | 四虎国产永久在线精品免费观看 | 五月天天色| 欧美综合图片 | 青青草国产97免久久费观看 | 婷婷国产成人久久精品激情 | 婷婷狠狠干 | 日本人×体xx艺术 | 国产一区中文字幕在线观看 | 天天综合天天色 | 成人精品视频在线 | 日产精品一区二区三区免费 | 久艾草国产成人综合在线视频 | 亚洲精品在线视频 | 国产福利在线小视频 | 四虎成人4hutv影院 | 亚洲欧美日韩国产一区二区三区精品 | 一级做a爰片久久毛片美女 一级做a爰片久久毛片人呢 | 亚洲成人一区二区 | 日本一区二区三区四区五区 | 中文字幕天天躁日日躁狠狠 |