最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript prototype的深度探索不是原型繼承那么簡單第2/3頁

 更新時間:2008年06月02日 19:16:04   作者:  
JavaScript中對象的prototype屬性,可以返回對象類型原型的引用。這是一個相當(dāng)拗口的解釋,要理解它,先要正確理解對象類型(Type)以及原型(prototype)的概念。

上面的例子通過prototype為Point對象設(shè)定了默認(rèn)值(0,0),因此p1的值為(0,0),p2的值為(1,2),通過delete p2.x, delete p2.y; 可以將p2的值恢復(fù)為(0,0)。下面是一個更有意思的例子:

利用prototype還可以為對象的屬性設(shè)置一個只讀的getter,從而避免它被改寫。下面是一個例子:

將this.getFirstPoint()改寫為下面這個樣子:
this.getFirstPoint = function()
{
        function GETTER(){};
        GETTER.prototype = m_firstPoint;
        return new GETTER();
}
則可以避免這個問題,保證了m_firstPoint屬性的只讀性。

實際上,將一個對象設(shè)置為一個類型的原型,相當(dāng)于通過實例化這個類型,為對象建立只讀副本,在任何時候?qū)Ω北具M(jìn)行改變,都不會影響到原始對象,而對原始對象進(jìn)行改變,則會影響到副本,除非被改變的屬性已經(jīng)被副本自己的同名屬性覆蓋。用delete操作將對象自己的同名屬性刪除,則可以恢復(fù)原型屬性的可見性。下面再舉一個例子:

相關(guān)文章

最新評論

永年县| 临泉县| 井冈山市| 瑞丽市| 禄丰县| 利川市| 桐梓县| 哈巴河县| 泸溪县| 眉山市| 阳朔县| 乐昌市| 武夷山市| 耒阳市| 文水县| 安阳市| 吴桥县| 日照市| 昭觉县| 政和县| 湾仔区| 青铜峡市| 荆州市| 株洲县| 札达县| 天全县| 赤峰市| 江达县| 金乡县| 德惠市| 东光县| 祁东县| 崇文区| 宁陕县| 福州市| 贵南县| 广灵县| 蓬莱市| 甘谷县| 游戏| 淮北市|