<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

    最新評論

    主站蜘蛛池模板: 国产精品亚洲片夜色在线| 中文字幕亚洲色图| 国产区图片区小说区亚洲区| 免费H网站在线观看的| 亚洲一级毛片中文字幕| 久久受www免费人成_看片中文| 亚洲国产精品免费在线观看| 在线精品一卡乱码免费| 亚洲精品人成网在线播放影院| 在线不卡免费视频| 国产精品亚洲综合| 亚洲中文字幕无码日韩| AAA日本高清在线播放免费观看| 亚洲va久久久噜噜噜久久男同 | 日韩电影免费在线观看网站| 久久亚洲一区二区| 波多野结衣中文字幕免费视频 | 亚洲欧洲另类春色校园网站| 久久精品女人天堂AV免费观看| 中文字幕精品三区无码亚洲| 国产成人综合久久精品免费| 亚洲天堂免费在线视频| 亚洲成A∨人片在线观看不卡| 免费观看黄色的网站| 亚洲精品久久无码| 亚洲中久无码永久在线观看同| 99在线在线视频免费视频观看| 亚洲香蕉在线观看| 亚洲高清无码专区视频| 久久精品毛片免费观看| 亚洲熟女精品中文字幕| 国产成人亚洲综合无码| 亚洲高清视频免费| 深夜特黄a级毛片免费播放| 亚洲精品在线观看视频| 永久黄网站色视频免费观看| 国产一区二区三区免费观在线| 亚洲伊人久久大香线蕉影院| 亚洲国产成人精品女人久久久| 中文字幕免费在线| 免费无毒a网站在线观看|