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

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

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

    posts - 82, comments - 269, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> Prototype </TITLE>


    <SCRIPT LANGUAGE="JavaScript">
    //此函數來至于prototype,由于此代碼只是簡單的演示,所以就直接把其提取出來了.
    Object.extend = function(destination, source) {
      for (var property in source) {
        destination[property] = source[property];
      }
      return destination;
    }

    function Student(major){
     this.major=major;
    }


    Object.extend(Student.prototype, {
      sayHello: function(){
       alert("Hello world!");
      }
     }
    )

    /**======================================
    我比較奇怪的是上面的函數調用下面這段替換怎么就不行
    function People(){ 
     sayHello= function(){
      alert("Hello world!");
     }
    }
    var people= new People();
    var stu=new Student("manage");
    Object.extend(stu,people);

    =========================================**/

     


    var stu=new Student("manage");


    /**=================================
    通過這種方式雖然student繼承了pepole的屬性,但通過instanceof,最后的屬性并不是people
    ==================================**/
    stu.sayHello();


    for (var property in stu) {   
     alert(property);
    }


    </SCRIPT>

     


    </HEAD>

    <BODY>
    本代碼最初發表于 http://blog.openj.cn

    </BODY>
    </HTML>


    評論

    # re: JavaScript的OOP初體驗(通過對象復制來實現)  回復  更多評論   

    2007-04-06 16:37 by liuganquan
    function People(){
    sayHello= function(){
    alert("Hello world!");
    }
    }
    添加方法定義出錯了吧
    function People(){

    }
    People.prototype.sayHello= function(){
    alert("Hello world!");
    };

    Object.extend(Student.prototype,People.prototype);
    就可以了

    # re: JavaScript的OOP初體驗(通過對象復制來實現)  回復  更多評論   

    2007-04-06 21:14 by itspy
    樓上說的確實可以,但不知道為什么一定要

    Object.extend(Student.prototype,People.prototype);

    下面兩種為什么不行?
    Object.extend(Student.prototype,People);
    Object.extend(Student,People);

    # re: JavaScript的OOP初體驗(通過對象復制來實現)  回復  更多評論   

    2007-04-06 21:17 by TiGERTiAN
    js里面類擴充方法最基本都是用prototype 啊。。。怎么會爭大呢?

    # re: JavaScript的OOP初體驗(通過對象復制來實現)  回復  更多評論   

    2007-04-17 09:00 by 周小鋤
    其實是可以的,改一下People的構造函數:
    People = function(){
    this.sayHello=function(){
    alert('hello world');
    } ;
    };

    var people=new People();
    var stud=new Student('manage');
    Object.extend(stud,people);
    stud.sayHello();//alert:hello world

    # re: JavaScript的OOP初體驗(通過對象復制來實現)  回復  更多評論   

    2007-09-04 11:44 by stevenhong
    function People(){
    sayHello= function(){
    alert("Hello world!");
    }
    }
    問題是這個就不是一個對象。

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲午夜福利717| 亚洲s色大片在线观看| 久久精品国产亚洲AV蜜臀色欲| 美女视频黄a视频全免费网站色窝| 亚洲精品97久久中文字幕无码| 男性gay黄免费网站| 亚洲av再在线观看| 插鸡网站在线播放免费观看| 亚洲午夜未满十八勿入网站2| 中文字幕免费人成乱码中国| 亚洲av日韩av无码| 久久免费看黄a级毛片| 亚洲AV无码乱码在线观看代蜜桃| 希望影院高清免费观看视频| 亚洲午夜精品一区二区麻豆| 国产一级一片免费播放i| 一级毛片**免费看试看20分钟| 亚洲精品成人片在线播放| 午夜影院免费观看| 亚洲人成网站日本片| 国产精品无码免费视频二三区 | 中国亚洲女人69内射少妇| A级毛片高清免费视频在线播放| 亚洲爆乳精品无码一区二区三区 | 亚洲欧美日韩中文无线码| 国产网站在线免费观看| 狠狠色伊人亚洲综合网站色| 国产伦精品一区二区免费| 亚洲国产精品一区二区久久| 97视频免费在线| 免费无码AV一区二区| 国产aⅴ无码专区亚洲av| 久久久久久曰本AV免费免费| 国产精品亚洲专一区二区三区| 亚洲精品国产精品乱码视色 | A级毛片高清免费视频在线播放| 91亚洲一区二区在线观看不卡 | 亚洲国产精品无码久久一区二区| 精品成在人线AV无码免费看| 免费看美女午夜大片| 久久国产亚洲精品无码|