資源描述:
《詳解javascript中基于原型prototype的繼承特性》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識是在這次中級黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對黨的性質(zhì)、宗旨、任務(wù)等基本知識有了進一步的了解詳解JavaScript中基于原型prototype的繼承特性 這篇文章主要介紹了詳解JavaScript中基于原型prototype的繼承特性,JavaScript中缺少類等面向?qū)ο蟮闹匾匦?因而談到繼承也顯得十分古怪...需要的朋友可以參考下 JavaScript中的繼承比較奇葩,無法實現(xiàn)接口繼承,只能依靠原型繼承?! ≡玩湣 ≡途褪且粋€對象,通過構(gòu)造函數(shù)創(chuàng)建出來的實
2、例會有指針指向原型得到原型的屬性和方法。這樣,實例對象就帶有構(gòu)造函數(shù)的屬性方法和原型的屬性方法,然后將需要繼承的構(gòu)造函數(shù)的原型指向這個實例,即可擁有這個實例的所有屬性方法實現(xiàn)繼承?! 】聪旅嫜菔敬a: //聲明超類,通過構(gòu)造函數(shù)和原型添加有關(guān)屬性和方法 functionSuper(){ ?this.property=true; } Super.prototype.getSuperValue=function(){ ?returnthis.property; };對黨的認(rèn)識也有了進一步的提高。才真正體會到了
3、中國共產(chǎn)黨的偉大、光榮和正確,更感到只有中國共產(chǎn)黨是全中國最廣大人民利益的忠實代表我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識是在這次中級黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對黨的性質(zhì)、宗旨、任務(wù)等基本知識有了進一步的了解 //聲明子類的構(gòu)造函數(shù) functionSubType(){ ?this.subproperty=false; } //將子類的原型指向超類的實例,得到超類的一切 SubType.prototype=newSuper(); SubType.prototype.constructor=S
4、ubType; SubType.prototype.getSubValue=function(){ ?returnthis.subproperty; }; //由子類創(chuàng)建對象,測試是否繼承超類方法和屬性 varinstance=newSubType(); console.log(instance.getSuperValue()); 所有函數(shù)的默認(rèn)原型都是Object的實例,因此默認(rèn)原型都會包含一個內(nèi)部指針,指向Object.prototype?! ∈褂胕nstanceof和isPrototypeOf可以確
5、定原型和實例的關(guān)系: instanceinstanceofObject; Object.prototype.isPrototypeOf(instance);對黨的認(rèn)識也有了進一步的提高。才真正體會到了中國共產(chǎn)黨的偉大、光榮和正確,更感到只有中國共產(chǎn)黨是全中國最廣大人民利益的忠實代表我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識是在這次中級黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對黨的性質(zhì)、宗旨、任務(wù)等基本知識有了進一步的了解 使用原型鏈的時候,需要謹(jǐn)慎的定義方法。子類需要重寫超類型的某個方法或者擴充,一定要放在替換原型
6、的語句后面,這樣才能生效。此外,通過原型鏈實現(xiàn)繼承時,不能使用對象字面量創(chuàng)建原型方法,這樣會重寫原型鏈: ...... SubType.prototype=newSuper(); SubType.prototype={ ?.... }; 這會更換指針指向新對象,從而重寫了原型鏈?! ≡玩湹睦^承方法是有缺陷的,主要有兩個問題: 1,來自包含引用類型值的原型,會被所有實例共享。 前面文章介紹過包含引用類型值的原型屬性會被所有實例共享,一個實例修改,其他實例會隨之改變,因此需要在構(gòu)造函數(shù)中定義屬性。而原型鏈
7、繼承的時候,無論超類中屬性是在構(gòu)造函數(shù)還是原型中定義,全部都變成了實例對象被子類繼承,從而對子類的實例產(chǎn)生影響。 2,創(chuàng)建子類型的實例時,不能向超類型的構(gòu)造函數(shù)中傳遞參數(shù)。 原型鏈的繼承,直接將子類原型指向超類的實例,這時候可以向超類傳遞參數(shù)。但是當(dāng)子類創(chuàng)建實例的時候,只能向子類的構(gòu)造函數(shù)傳遞參數(shù),而不能向超類的構(gòu)造函數(shù)傳遞參數(shù)?! ∫虼藢嶋H應(yīng)用中,很少單獨使用原型鏈?! ∠嚓P(guān)的一些代碼實踐對黨的認(rèn)識也有了進一步的提高。才真正體會到了中國共產(chǎn)黨的偉大、光榮和正確,更感到只有中國共產(chǎn)黨是全中國最廣大人民利益的忠實代表
8、我真正系統(tǒng)地接觸和學(xué)習(xí)黨的基本知識是在這次中級黨校的培訓(xùn)班上。通過學(xué)習(xí),了解了黨的發(fā)展歷程,對黨的性質(zhì)、宗旨、任務(wù)等基本知識有了進一步的了解 鑒別一個原型屬性 functionhasPrototypeProperty(object,name){ ?returnnameinobject&&!object.hasOwnPrope