最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript關(guān)于繼承解析

 更新時(shí)間:2016年05月10日 16:42:57   投稿:jingxian  
下面小編就為大家全面的介紹一下javascript在的繼承。希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

上一篇已介紹了組合繼承,現(xiàn)在講講剩余的幾種繼承。

原型式繼承

調(diào)用一個(gè)函數(shù),接收這個(gè)函數(shù)返回來(lái)的對(duì)象,這個(gè)對(duì)象的原型就是傳入函數(shù)的參數(shù)對(duì)象。

如:

function  personObject(o){
    function F(){}
    F.prototype = o;
    return new F();
}
var person = {
   name:"Nicholas",
   friends:["Shelby","Court","Van"]
}

var person_one = personObject(person);

從上面的代碼中,我們知道person是person_one的原型。ES5中添加了一個(gè)方法規(guī)范化原型式繼承,這個(gè)方法是Object.create(),這個(gè)方法有兩個(gè)參數(shù),第一個(gè)是作為新對(duì)象原型的對(duì)象,像上面的person,第二個(gè)是為新對(duì)象定義額外屬性的對(duì)象。第二個(gè)參數(shù)可選。

如:

var person_one = Object.create(person, {
        name: {
            value:"Jon"
      }
});

當(dāng)你只想讓一個(gè)對(duì)象與另一個(gè)對(duì)象保持類似時(shí),可以使用原型式繼承。

寄生式繼承   

在一個(gè)函數(shù)里實(shí)現(xiàn)一次原型式繼承,然后為接收到的這個(gè)對(duì)象添加自己的屬性與方法。

如:

function createAnother(o){
   var person_one = personObject(o);
   person_one.sayHi = function(){
       alert(" hi ");
   }
   return person_one;
}

寄生組合式繼承

組合繼承也有其缺點(diǎn),它實(shí)現(xiàn)了兩次屬性繼承,而寄生組合式繼承就避免了這個(gè)問(wèn)題。實(shí)例通過(guò)構(gòu)造函數(shù)繼承了屬性,而原型的方法則是通過(guò)寄生式繼承的方式來(lái)繼承。

如:

function inherit(subType, superType){
   var prototype = Object(superType.prototype);
   prototype.constructor = subType;
   subType.prototype = prototype;
}

通過(guò)調(diào)用上面的函數(shù),實(shí)現(xiàn)subTye.prototype的原型是superType.prototype,完成了原型方法的繼承。

以上這篇javascript關(guān)于繼承解析就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

迭部县| 金昌市| 满洲里市| 宣武区| 沾益县| 渭南市| 普格县| 岳阳县| 武汉市| 竹溪县| 伊春市| 辽宁省| 司法| 探索| 天柱县| 舞阳县| 东阳市| 吉木萨尔县| 胶州市| 阜城县| 海丰县| 德兴市| 巨鹿县| 双流县| 大城县| 乐平市| 迭部县| 沁源县| 彭泽县| 神农架林区| 双城市| 上蔡县| 阿拉尔市| 屏山县| 太和县| 苍梧县| 寻甸| 通化市| 和龙市| 泗洪县| 峡江县|