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

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

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

    今天閑來無聊,回顧知識點,記憶告訴自己,prototype 是能動態給js的對象添加屬性和函數的。

    寫了一個小例子。居然沒調通。我老郁悶啦。

    eg:
    function MyObject(t)
               {
                   
    this.name = t;
               }
               
               MyObject.prototype.writeName 
    = function()
               {
                    
    return this.name;
               }
               
               
    var myobj1 = new MyObject("b");
            
               alert(myobj1.writeName());
               
               MyObject.prototype.name 
    = "c";
               
               alert(myobj1.writeName());

    心想應該分別輸出 “b” 和 “c”

    結果兩次輸出都是“b”。仔細看著這簡單的腳本似乎沒有任何錯誤,看久了我想起一句話,prototype 是動態追加。 于是我在想,動態追加,是否應該該成這樣呢。
    function MyObject(t)
               {
                   
    this.size = t;
               }
               
               MyObject.prototype.writeName 
    = function()
               {
                    
    return this.name;
               }
            
               MyObject.prototype.name 
    = "b";
            
               
    var myobj1 = new MyObject("b");
            
               alert(myobj1.writeName());
               
               MyObject.prototype.name 
    = "c";
               
               alert(myobj1.writeName());

     這次修改后,輸出的結果和自己想的是一致的,以至于不再否認人生了。。。(夸張了點

    總結如下。

    1.在類的基礎或者說原生已有的情況下,prototype是不能覆蓋的,他的功能是追加,擴展。(當然自然讓我們想到繼承,不錯,這個思路是對的。)

    2.如果同時動態增加的屬性或者方法,prototype是能覆蓋掉的。(我不能空口下結論,給個小腳本如下。)
    function MyObject(t)
               {
                   
    this.size = t;
               }
               
               MyObject.prototype.writeName 
    = function()
               {
                    
    return this.name;
               }
            
               MyObject.prototype.name 
    = "b";
            
               
    var myobj1 = new MyObject("b");
            
               alert(myobj1.writeName());
               
               MyObject.prototype.name 
    = "c";
               
               alert(myobj1.writeName());
            
                MyObject.prototype.name 
    = "d";
            
              alert(myobj1.writeName());






    posted on 2010-03-17 21:58 -274°C 閱讀(2930) 評論(0)  編輯  收藏 所屬分類: web前端

    常用鏈接

    留言簿(21)

    隨筆分類(265)

    隨筆檔案(242)

    相冊

    JAVA網站

    關注的Blog

    搜索

    •  

    積分與排名

    • 積分 - 914354
    • 排名 - 40

    最新評論

    主站蜘蛛池模板: 亚洲一久久久久久久久| 色屁屁www影院免费观看视频| 免费一本色道久久一区| 美女扒开尿口给男人爽免费视频 | 最近中文字幕免费大全| 99人中文字幕亚洲区| 日韩视频在线免费| 国产自国产自愉自愉免费24区| 激情综合亚洲色婷婷五月| 亚洲一区无码精品色| 免费看h片的网站| 一级毛片免费观看不收费| 亚洲色图黄色小说| 亚洲视频人成在线播放| 丁香花免费完整高清观看| 黄视频在线观看免费| 一本色道久久88—综合亚洲精品| 国产亚洲一区二区三区在线不卡| 无码日韩精品一区二区免费| 国产精品免费久久久久电影网| 亚洲国产日韩在线| 久久综合日韩亚洲精品色| 国产成人免费手机在线观看视频| 污污网站18禁在线永久免费观看| 免费一区二区三区在线视频 | a视频在线观看免费| 亚洲国产精品无码久久98| 亚洲国产综合专区在线电影| 亚洲成a人片在线观看国产| 国产人在线成免费视频| 久久久久国产精品免费免费不卡| 免费国产草莓视频在线观看黄| 亚洲最大的成人网| 亚洲男人天堂影院| 亚洲AV综合色区无码一区| 怡红院亚洲怡红院首页| 免费一区二区视频| 日韩毛片无码永久免费看| 成人黄动漫画免费网站视频| 亚洲一区二区三区免费观看| 久久这里只精品99re免费|