<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!");
    }
    }
    問題是這個就不是一個對象。

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


    網站導航:
     
    主站蜘蛛池模板: 俄罗斯极品美女毛片免费播放| 免费无码作爱视频| 美女视频黄是免费的网址| 国产AV无码专区亚洲AV毛网站 | 亚洲制服丝袜中文字幕| 1000部拍拍拍18免费网站| 亚洲毛片一级带毛片基地| 37pao成人国产永久免费视频| 亚洲高清在线mv| 日本免费人成在线网站| 亚洲天堂一区二区三区四区| 日本免费网站视频www区| 自拍偷区亚洲国内自拍| 99精品国产免费久久久久久下载| 亚洲国产美女在线观看| 成年性生交大片免费看| 亚洲国产AV无码一区二区三区| 国产免费观看青青草原网站| 国产成人亚洲精品播放器下载| 亚洲精品国产自在久久| 精品一卡2卡三卡4卡免费视频| 亚洲美女自拍视频| 妞干网手机免费视频| 免费的黄网站男人的天堂| 亚洲人成网亚洲欧洲无码久久| 日本一道本不卡免费| 亚洲激情视频图片| 亚洲日韩人妻第一页| 久久国产乱子伦精品免费不卡 | 免费视频成人片在线观看| 亚洲一区二区三区播放在线 | 免费看污成人午夜网站| 亚洲国产成人精品无码区二本| 亚洲无线一二三四区手机| 最近免费中文字幕mv电影| 亚洲日韩精品无码AV海量| 久久精品亚洲男人的天堂| 182tv免费观看在线视频| 无码一区二区三区亚洲人妻| 亚洲成av人在线视| 成年女人喷潮毛片免费播放|