<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JavaScript中的繼承(下)

    Posted on 2006-11-28 23:14 Jaunt 閱讀(193) 評論(0)  編輯  收藏 所屬分類: JavaScript
    ? 作者: Flyingis?
    ??原載:http://m.tkk7.com/flyingis/archive/2006/07/15/58339.html
    ??? Prototype

    ???
    我們了解到任何prototype的屬性和方法都會被傳遞到該類的所有實例中,利用這一特性,使用prototype也能實現繼承。
    ?
    ? functionClassA()?{
    }


    ClassA.prototype.id
    =?1998;
    ?ClassA.prototype.sayId
    =function(){
    ?? alert(
    this.id);
    }
    ;

    functionClassB(){
    }


    ClassB.prototype
    =newClassA();
    ClassB.prototype.name
    ="";
    ?ClassB.prototype.sayName
    =function(){
    ?? alert(
    this.name);
    }

    ??? 需要注意的是,這種實現繼承的方法不能將參數傳入到ClassA的構造器中,是一個缺陷。ClassB的所有屬性和方法必需在將ClassB的 prototype對象指向ClassA的實例之后進行附值。這樣做是因為,prototype指向一個新的對象,在此之前prototype的屬性和方法都被覆蓋銷毀。

    ??? 對代碼進行測試:

    var?obj1 =newClassA();
    var?obj2=new ClassB();
    obj1.id
    =?1998;
    obj2.id
    =?2000;
    obj2.name
    ="悉尼奧運會";
    obj1.sayId();??
    //輸出"1998"
    obj2.sayId();??//輸出"1998"
    obj2.sayName();??//輸出"悉尼奧運會"

    alert(obj2
    instanceofClassA);??//輸出"true"
    alert(obj2 instanceofClassB);??//輸出"true"

    ??? 在上述代碼中可以看出,使用prototype實現繼承,instanceof操作符出現了另外的用途,在用構造起定義類實現繼承時,instanceof不會出現這種效果。但是使用prototype不能支持多重繼承。
    ??
    ??? 使用構造器定義類實現繼承和使用prototype實現繼承均存在各自的缺陷,要避免出現這些情況,只有將兩者混合使用。

    ??? 混合方法

    ??? 創建一個類的最佳方法,是使用構造器的方法去定義屬性,使用prototype定義方法。在繼承中同樣如此。

    ? functionClassA(id)?{
    ??
    this.id =id;
    }


    ? ClassA.prototype.sayId
    =?function() {
    ?? alert(
    this.id);
    }
    ;

    function ClassB(id,?name) {
    ?? ClassA.call(
    this,?id);
    ??
    this.name =name;
    }


    ClassB.prototype
    =? new ClassA();
    ?ClassB.prototype.sayName
    =function(){
    ?? alert(
    this.name);
    }
    主站蜘蛛池模板: 亚洲码国产精品高潮在线| 亚洲视频一区二区| 337p日本欧洲亚洲大胆精品555588| 香蕉国产在线观看免费| 亚洲国产精品成人久久蜜臀| 黄网站色视频免费观看45分钟| 内射无码专区久久亚洲| 一级毛片一级毛片免费毛片| 亚洲中文字幕伊人久久无码| 精精国产www视频在线观看免费| 国产亚洲美女精品久久久| 三级网站在线免费观看| 亚洲大尺度无码专区尤物| 毛片在线全部免费观看| 亚洲麻豆精品果冻传媒| 69天堂人成无码麻豆免费视频| 亚洲中文字幕无码久久| 永久久久免费浮力影院| 精品多毛少妇人妻AV免费久久 | 在线免费观看a级片| 亚洲国产精品日韩av不卡在线| 国产成人免费永久播放视频平台 | 中文在线免费视频| 亚洲综合国产精品| 歪歪漫画在线观看官网免费阅读| 亚洲欧美不卡高清在线| 亚洲精品网站在线观看不卡无广告 | 一级白嫩美女毛片免费| 国产A在亚洲线播放| 日韩精品成人无码专区免费| 欧美亚洲精品一区二区| 夜夜春亚洲嫩草影院| 97国产免费全部免费观看| 国产成人亚洲精品播放器下载 | 亚洲AV午夜成人片| 德国女人一级毛片免费| 国产黄色免费观看| 亚洲av无码片在线观看| 亚洲国产午夜福利在线播放 | 99热在线观看免费| 亚洲av无码专区在线观看亚|