詳解javascript中基于原型prototype的繼承特性

詳解javascript中基于原型prototype的繼承特性

ID:30520889

大小:17.21 KB

頁數(shù):7頁

時(shí)間:2018-12-31

詳解javascript中基于原型prototype的繼承特性_第1頁
詳解javascript中基于原型prototype的繼承特性_第2頁
詳解javascript中基于原型prototype的繼承特性_第3頁
詳解javascript中基于原型prototype的繼承特性_第4頁
詳解javascript中基于原型prototype的繼承特性_第5頁
資源描述:

《詳解javascript中基于原型prototype的繼承特性》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)

1、我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識(shí)是在這次中級(jí)黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對(duì)黨的性質(zhì)、宗旨、任務(wù)等基本知識(shí)有了進(jìn)一步的了解詳解JavaScript中基于原型prototype的繼承特性  這篇文章主要介紹了詳解JavaScript中基于原型prototype的繼承特性,JavaScript中缺少類等面向?qū)ο蟮闹匾匦?因而談到繼承也顯得十分古怪...需要的朋友可以參考下  JavaScript中的繼承比較奇葩,無法實(shí)現(xiàn)接口繼承,只能依靠原型繼承?! ≡玩湣 ≡途褪且粋€(gè)對(duì)象,通過構(gòu)造函數(shù)創(chuàng)建出來的實(shí)

2、例會(huì)有指針指向原型得到原型的屬性和方法。這樣,實(shí)例對(duì)象就帶有構(gòu)造函數(shù)的屬性方法和原型的屬性方法,然后將需要繼承的構(gòu)造函數(shù)的原型指向這個(gè)實(shí)例,即可擁有這個(gè)實(shí)例的所有屬性方法實(shí)現(xiàn)繼承?! 】聪旅嫜菔敬a:  //聲明超類,通過構(gòu)造函數(shù)和原型添加有關(guān)屬性和方法  functionSuper(){  ?this.property=true;  }  Super.prototype.getSuperValue=function(){  ?returnthis.property;  };對(duì)黨的認(rèn)識(shí)也有了進(jìn)一步的提高。才真正體會(huì)到了

3、中國(guó)共產(chǎn)黨的偉大、光榮和正確,更感到只有中國(guó)共產(chǎn)黨是全中國(guó)最廣大人民利益的忠實(shí)代表我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識(shí)是在這次中級(jí)黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對(duì)黨的性質(zhì)、宗旨、任務(wù)等基本知識(shí)有了進(jìn)一步的了解  //聲明子類的構(gòu)造函數(shù)  functionSubType(){  ?this.subproperty=false;  }  //將子類的原型指向超類的實(shí)例,得到超類的一切  SubType.prototype=newSuper();  SubType.prototype.constructor=S

4、ubType;  SubType.prototype.getSubValue=function(){  ?returnthis.subproperty;  };  //由子類創(chuàng)建對(duì)象,測(cè)試是否繼承超類方法和屬性  varinstance=newSubType();  console.log(instance.getSuperValue());  所有函數(shù)的默認(rèn)原型都是Object的實(shí)例,因此默認(rèn)原型都會(huì)包含一個(gè)內(nèi)部指針,指向Object.prototype?! ∈褂胕nstanceof和isPrototypeOf可以確

5、定原型和實(shí)例的關(guān)系:  instanceinstanceofObject;  Object.prototype.isPrototypeOf(instance);對(duì)黨的認(rèn)識(shí)也有了進(jìn)一步的提高。才真正體會(huì)到了中國(guó)共產(chǎn)黨的偉大、光榮和正確,更感到只有中國(guó)共產(chǎn)黨是全中國(guó)最廣大人民利益的忠實(shí)代表我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識(shí)是在這次中級(jí)黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對(duì)黨的性質(zhì)、宗旨、任務(wù)等基本知識(shí)有了進(jìn)一步的了解  使用原型鏈的時(shí)候,需要謹(jǐn)慎的定義方法。子類需要重寫超類型的某個(gè)方法或者擴(kuò)充,一定要放在替換原型

6、的語句后面,這樣才能生效。此外,通過原型鏈實(shí)現(xiàn)繼承時(shí),不能使用對(duì)象字面量創(chuàng)建原型方法,這樣會(huì)重寫原型鏈:  ......  SubType.prototype=newSuper();  SubType.prototype={  ?....  };  這會(huì)更換指針指向新對(duì)象,從而重寫了原型鏈。  原型鏈的繼承方法是有缺陷的,主要有兩個(gè)問題:  1,來自包含引用類型值的原型,會(huì)被所有實(shí)例共享?! ∏懊嫖恼陆榻B過包含引用類型值的原型屬性會(huì)被所有實(shí)例共享,一個(gè)實(shí)例修改,其他實(shí)例會(huì)隨之改變,因此需要在構(gòu)造函數(shù)中定義屬性。而原型鏈

7、繼承的時(shí)候,無論超類中屬性是在構(gòu)造函數(shù)還是原型中定義,全部都變成了實(shí)例對(duì)象被子類繼承,從而對(duì)子類的實(shí)例產(chǎn)生影響?! ?,創(chuàng)建子類型的實(shí)例時(shí),不能向超類型的構(gòu)造函數(shù)中傳遞參數(shù)?! ≡玩湹睦^承,直接將子類原型指向超類的實(shí)例,這時(shí)候可以向超類傳遞參數(shù)。但是當(dāng)子類創(chuàng)建實(shí)例的時(shí)候,只能向子類的構(gòu)造函數(shù)傳遞參數(shù),而不能向超類的構(gòu)造函數(shù)傳遞參數(shù)?! ∫虼藢?shí)際應(yīng)用中,很少單獨(dú)使用原型鏈。  相關(guān)的一些代碼實(shí)踐對(duì)黨的認(rèn)識(shí)也有了進(jìn)一步的提高。才真正體會(huì)到了中國(guó)共產(chǎn)黨的偉大、光榮和正確,更感到只有中國(guó)共產(chǎn)黨是全中國(guó)最廣大人民利益的忠實(shí)代表

8、我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識(shí)是在這次中級(jí)黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對(duì)黨的性質(zhì)、宗旨、任務(wù)等基本知識(shí)有了進(jìn)一步的了解  鑒別一個(gè)原型屬性  functionhasPrototypeProperty(object,name){  ?returnnameinobject&&!object.hasOwnPrope

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。