国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

香港云服务器
服務器之家 - 編程語言 - JavaScript - javascript中的__defineGetter__和__defineSetter__介紹

javascript中的__defineGetter__和__defineSetter__介紹

2021-02-18 17:16JavaScript教程網(wǎng) JavaScript

這篇文章主要介紹了javascript中的__defineGetter__和__defineSetter__介紹,類似面向對象語言中的get和set關鍵字,需要的朋友可以參考下

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

有兩種方法來定義Getter或Setter方法:

1.在對象初始化時定義
2.在對象定義后通過Object的__defineGetter__、__defineSetter__方法來追加定義

在使用對象初始化過程來定義Getter和Setter方法時唯一要做的事情就是在getter方法前面加上“get”,在setter方法前面加上“set”。

還有一點要注意的就是getter方法沒有參數(shù),setter方法必須有一個參數(shù),也就是要設置的屬性的新值。

例如:

復制代碼 代碼如下:

   o = { 
        value:9, 
        get b() {return this.value;}, 
        set setter(x) {this.value = x;} 
    } 

 

在對象定義后給對象添加getter或setter方法要通過兩個特殊的方法__defineGetter__和__defineSetter__。這兩 個函數(shù)要求第一個是getter或setter的名稱,以string給出,第二個參數(shù)是作為getter或setter的函數(shù)。

例如我們給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屬性的實現(xiàn):

復制代碼 代碼如下:

 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 
       }

延伸 · 閱讀

精彩推薦
827
主站蜘蛛池模板: 日韩午夜电影 | 91免费国产在线 | 高清一区在线 | 激情婷婷 | 99国产精品99久久久久久 | 亚洲激情视频在线播放 | 91精品啪aⅴ在线观看国产 | 亚洲午夜成激人情在线影院 | av电影免费在线看 | 精品综合久久久 | 成人小视频在线看 | 中文字幕亚洲视频 | 国产97人人超碰caoprom | 精品久| 午夜午夜精品一区二区三区文 | 蜜桃成人 | 国产精品1| 国产精品福利一区二区三区 | 久久久久综合精品福利啪啪 | 免费观看av网站 | 亚洲综合一区二区 | 日韩视频区 | 亚洲精品无 | 国产aaaaav久久久一区二区 | 少妇精品视频在线观看 | 久久精品国产77777蜜臀 | 一区二区毛片 | 色之久久综合 | 中文在线资源 | 国产精品影视 | 91免费版在线观看 | 黄色av网站在线观看 | 久久精品久久久 | 免费网站看v片在线a | 成人欧美一区二区三区在线观看 | 黄色福利视频 | 国产视频一二区 | 中文字幕国产视频 | 国产精品视频入口 | 日韩91 | 免费的一级视频 |