Getter是一種獲取一個屬性的值的方法,Setter是一種設置一個屬性的值的方法。可以 " /> 午夜精品视频,色大18成网站www在线观看,99ri精品视频在线观看播放

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

關于__defineGetter__ 和__defineSetter__的說明

作者:anbutu
來源:http://anbutu.Javaeye.com/blog/post/194276
關鍵字: JavaScript   Mozilla __defineGetter__ __defineSetter__

Getter是一種獲取一個屬性的值的方法,Setter是一種設置一個屬性的值的方法。可以為任何預定義的核心對象或用戶自定義對象定義getter和setter方法,從而為現有的對象添加新的屬性。
有兩種方法來定義Getter或Setter方法:

在對象初始化時定義 
在對象定義后通過Object的__defineGetter__、__defineSetter__方法來追加定義 
在使用對象初始化過程來定義Getter和Setter方法時唯一要做的事情就是在getter方法前面加上“get”,在setter方法前面加上“set”。
還有一點要注意的就是getter方法沒有參數,setter方法必須有一個參數,也就是要設置的屬性的新值。
例如:

復制代碼 代碼如下:
o = {    
    value:9,    
    get b() {return this.value;},    
    set setter(x) {this.value = x;}    
}    

在對象定義后給對象添加getter或setter方法要通過兩個特殊的方法__defineGetter__和__defineSetter__。這兩個函數要求第一個是getter或setter的名稱,以string給出,第二個參數是作為getter或setter的函數。
例如我們給Date對象添加一個year屬性:

復制代碼 代碼如下:
Date.prototype.__defineGetter__('year', function() {return this.getFullYear();});    
Date.prototype.__defineSetter__('year', function(y) {this.setFullYear(y)});    

var now = new Date;    
alert(now.year);    
now.year = 2006;    
alert(now);    

至于采用哪種形式主要取決于個人的編程風格,采用第一種形式結構緊湊,更容易理解。但是假如你想在對象定義以后再添加Getter或Setter,或者這個對象的原型不是你寫的或是內置對象,那么只好采用第二種方式了。
下面是一個為Mozilla瀏覽器添加innerText屬性的實現:

復制代碼 代碼如下:
HTMLElement.prototype.__defineGetter__     
(    
   "innerText",function()    
   //define a getter method to get the value of innerText,     
   //so you can read it now!     
   {    
      var textRange = this.ownerDocument.createRange();    
      //Using range to retrieve the content of the object    
      textRange.selectNodeContents(this);    
      //only get the content of the object node    
      return textRange.toString();    
      // give innerText the value of the node content    
   }    
); 

JavaScript技術關于__defineGetter__ 和__defineSetter__的說明,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 天天在线影院天天在线视频 | 欧美综合色另类图片区 | 制服丝袜怡红院 | 麻豆91视频| 国产盗摄精品一区二区三区 | 欧美另类videosbestsex亚洲 | 久草一级片 | 精品国产麻豆免费网站 | 国产精品视频人人做人人爱 | 天天操天天干天天爽 | 中文字幕日韩一区二区三区不 | dyav午夜片 | 激情网站免费看 | 精品哟哟哟国产在线观看不卡 | 久久精品中文字幕 | 欧美一区二区三区综合色视频 | 成人91在线| 欧美美女被日 | 视频一区二区在线观看 | 婷婷色在线 | 天堂成人在线观看 | 成人免费观看www视频 | 亚洲热热久久九九精品 | 嫩草影院一区 | 午夜性色视频 | 久久亚洲欧美日本精品品 | 国产精品免费一区二区三区 | 亚洲欧美国产日产综合不卡 | 婷婷激情综合 | 91精品在线播放 | 韩国精品韩国专区久久 | 国产无遮挡床戏视频免费 | 在线观看视频一区 | 久久国产精品国产自线拍免费 | 91精品视频网站 | 一区在线播放 | 激情小说 激情图片 | 1000部精品久久久久久久久 | 91久久国产综合精品女同我 | 欧美日韩国产码高清综合人成 | 欧美日韩免费大片 |