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

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


    網站導航:
     
    主站蜘蛛池模板: 天黑黑影院在线观看视频高清免费 | 久草视频免费在线观看| 国产亚洲sss在线播放| 在线看片免费人成视久网| 久热综合在线亚洲精品| 久久免费精品视频| 亚洲av无码不卡| 日韩国产免费一区二区三区| 四虎影视永久免费观看网址 | 亚洲综合男人的天堂色婷婷| 1000部羞羞禁止免费观看视频| 在线观看亚洲人成网站| 成人免费观看一区二区| 波多野结衣亚洲一级| 国产大片免费观看中文字幕| 另类图片亚洲校园小说区| 国产精品V亚洲精品V日韩精品| 日批视频网址免费观看| 亚洲人成电影亚洲人成9999网| 青青青视频免费观看| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 亚洲一日韩欧美中文字幕在线| 永久免费无码网站在线观看| 国产综合成人亚洲区| 77777亚洲午夜久久多人| 久久精品国产免费| 亚洲精品第五页中文字幕| 夜夜嘿视频免费看| 亚洲一区在线视频观看| 国产精品jizz在线观看免费| 国产免费福利体检区久久| 久久精品国产亚洲77777| 永久免费av无码网站大全| 久久久久久噜噜精品免费直播 | 在线精品亚洲一区二区小说| 久久99国产综合精品免费| 亚洲中文字幕久久久一区| 国产亚洲午夜高清国产拍精品 | 91制片厂制作传媒免费版樱花| 亚洲码和欧洲码一码二码三码 | 在线亚洲精品自拍|