中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

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

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

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

由于Javascript的原型鏈的關(guān)系,我們不能直接var Array2 = Array;var a = new Array2;這樣一旦從Array2的原型添加新方法(添加方法都建議往原型里加,不建議做成類(lèi)方法)時(shí),Array的原型也被加上了,因?yàn)樗鼈兪窃谕粭l船上。我們必須斷開(kāi)它們。于是我們需要一個(gè)Parent函數(shù)做橋接。我們可以說(shuō)Array為目標(biāo)父類(lèi),Parent為真正父類(lèi)。先把目標(biāo)父類(lèi)的原型賦給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)系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产精品一区二区三区四区 | 99热国产在线播放 | 国内精品久久影院 | 99久久久国产精品免费消防器 | 欧美激情久久久 | www.狠狠干| 国产美女视频一区 | 草草视频在线播放 | 国产1区在线 | 久久免费精品 | 野狼在线社区2017入口 | 中文字幕久久久 | 九一在线 | 农村黄性色生活片 | 天天干天天干 | 国产精品成人一区二区 | 男女网站免费 | 国产欧美一区二区三区另类精品 | 久久久夜色精品亚洲 | av天天干 | 无吗视频 | 成人教育av| 久久欧美精品 | 亚洲一区二区三区免费 | 黄色中文字幕 | 天堂亚洲网 | 久久首页 | 自拍偷拍小视频 | 91精品国产91久久综合桃花 | 欧美日韩一区在线 | 色综合久久天天综合网 | 久草电影网 | 国产九九九九 | 成年视频在线观看福利资源 | 国产综合av | 中文字幕成人在线 | 伊人狠狠干| 国产乱码久久久久久一区二区 | 亚洲一区二区在线视频 | 欧美久久久久久 | 国产一区二区在线免费观看 |