欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js常用的繼承--組合式繼承

 更新時間:2017年03月06日 17:02:57   作者:fantasy525  
本篇文章主要介紹了js常用的繼承--組合式繼承的相關(guān)知識,具有很好的參考價值。下面跟著小編一起來看下吧

組合繼承有時候也叫偽經(jīng)典繼承,指的是將原型鏈和借用構(gòu)造函數(shù)技術(shù)組合到一塊,從而發(fā)揮二者之長的一種繼承模式,其背后的思路是使用原型鏈實現(xiàn)對原型屬性和方法的繼承,而通過借用構(gòu)造函數(shù)來實現(xiàn)對實例屬性的繼承。這樣既通過在原型上定義方法實現(xiàn)了函數(shù)復(fù)用,又能保證每個實例都有它的自己的屬性。

 function SuperType(name){
  this.name=name;
  this.colors=["red","blue","green"];
 }
 SuperType.prototype.sayName=function(){
  console.log(this.name);
 }
 function SubType(name,age){
  SuperType.call(this,name);
  this.age=age;
 }
 SubType.prototype=new SuperType();
 SubType.prototype.constructor=SubType;
 SubType.prototype.sayAge=function(){
  console.log(this.age);
 }
 var instance1=new SubType("zxf",24);
 instance1.colors.push("black");
 console.log(instance1.colors);//["red","blue","green","black"]
 instance1.sayName();//"zxf"
 instance1.sayAge();//24
 var instance2=new SubType("jay",36);
 console.log(instance2.colors);//["red","blue","green"]
 instance2.sayName();//"jay"
 instance2.sayAge();//36

在這個例子中,supertype構(gòu)造函數(shù)定義了兩個屬性,name和colors。supertype的原型定義了一個方法sayname()。subtype構(gòu)造函數(shù)調(diào)用supertype時傳入了name參數(shù),緊接著又定義了它自己的屬性age。然后將supertype的實例賦值給subtype的原型,然后又在該新原型上定義了方法sayage()。這樣一來,就可以讓兩個不同的subtype實例既可以擁有屬性--包括colors屬性,又可以使用相同的方法。

組合式繼承缺點是:調(diào)用了兩次supertype構(gòu)造函數(shù),一次在賦值subtype的原型時,一次在實例化子類時call調(diào)用,這次調(diào)用會屏蔽原型中的兩個同名屬性。

參考書籍:Javascript高級程序設(shè)計(第3版);

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • JavaScript實現(xiàn)按Ctrl鍵打開新頁面

    JavaScript實現(xiàn)按Ctrl鍵打開新頁面

    這篇文章主要介紹了JavaScript實現(xiàn)按Ctrl鍵打開新頁面的例子,本文方法適用HTML5環(huán)境中,需要的朋友可以參考下
    2014-09-09
  • JavaScript獲取GridView選擇的行內(nèi)容

    JavaScript獲取GridView選擇的行內(nèi)容

    一般GridView第一列是多選框CheckBox,負(fù)責(zé)標(biāo)記當(dāng)前行是否被選中,后面可以有文本框TextBox,下拉框DropDownList,標(biāo)簽Lable
    2009-04-04
  • 固定表格行列(expression)在IE下適用

    固定表格行列(expression)在IE下適用

    本文為大家介紹下使用expression固定表格行列,這是一種在IE下適用的固定行列的方法,感興趣的朋友可以學(xué)習(xí)下,希望對大家有所幫助
    2013-07-07
  • Promise拋出錯誤解決基礎(chǔ)示例詳解

    Promise拋出錯誤解決基礎(chǔ)示例詳解

    這篇文章主要為大家介紹了Promise拋出錯誤解決基礎(chǔ)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • JS實現(xiàn)點擊按鈕后框架內(nèi)載入不同網(wǎng)頁的方法

    JS實現(xiàn)點擊按鈕后框架內(nèi)載入不同網(wǎng)頁的方法

    這篇文章主要介紹了JS實現(xiàn)點擊按鈕后框架內(nèi)載入不同網(wǎng)頁的方法,涉及javascript點擊按鈕載入頁面的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-05-05
  • js 走馬燈簡單實例

    js 走馬燈簡單實例

    這篇文章主要介紹了js 走馬燈簡單實例,有需要的朋友可以參考一下
    2013-11-11
  • 怎么使用js計算當(dāng)前一周的日期

    怎么使用js計算當(dāng)前一周的日期

    這篇文章主要給大家介紹了關(guān)于怎么使用js計算當(dāng)前一周的日期的相關(guān)資料,我們可以使用JavaScript的Date對象來獲取近一周的日期,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-09-09
  • 關(guān)于RequireJS的簡單介紹即使用方法

    關(guān)于RequireJS的簡單介紹即使用方法

    下面小編就為大家?guī)硪黄P(guān)于RequireJS的簡單介紹即使用方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • JS阻止事件冒泡行為和閉包的方法

    JS阻止事件冒泡行為和閉包的方法

    這篇文章主要介紹了JS阻止事件冒泡行為和閉包的方法的相關(guān)資料,需要的朋友可以參考下
    2016-06-06
  • js編寫貪吃蛇的小游戲

    js編寫貪吃蛇的小游戲

    本文為大家介紹的是使用JS寫的貪吃蛇游戲,個人練習(xí)之用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望對大家學(xué)習(xí)js有所幫助
    2015-12-12

最新評論