激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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

香港云服务器
服務器之家 - 編程語言 - JavaScript - ECMAScript5中的對象存取器屬性:getter和setter介紹

ECMAScript5中的對象存取器屬性:getter和setter介紹

2021-05-07 17:05junjie JavaScript

這篇文章主要介紹了ECMAScript5中的對象屬性存取器:getter和setter介紹,事實上在除ie外最新主流瀏覽器的實現中,任何一個對象的鍵值都可以被getter和setter方法所取代,這被稱之為“存取器屬性”,需要的朋友可以參考下

顯然這是一個無關IE(高級IE除外)的話題,盡管如此,有興趣的同學還是一起來認識一下ECMAScript5標準中getter和setter的實現。在一個對象中,操作其中的屬性或方法,通常運用最多的就是讀(引用)和寫了,譬如說o.get,這就是一個讀的操作,而o.set = 1則是一個寫的操作。事實上在除ie外最新主流瀏覽器的實現中,任何一個對象的鍵值都可以被getter和setter方法所取代,這被稱之為“存取器屬性”。

毫無疑問,getter負責查詢值,它不帶任何參數,setter則負責設置鍵值,值是以參數的形式傳遞,在他的函數體中,一切的return都是無效的。和普通屬性不同的是,存儲器屬性在只聲明了get或set時,對于讀和寫是兩者不可兼得的,當它只擁有了getter方法,那么它僅僅只讀,同樣的,當它只有setter方法,那么您讀到的永遠都是undefined。如何聲明對象存儲器屬性呢? 最快捷的途徑就是利用對象字面量的語法來寫了,請看下述一段代碼:

 

復制代碼 代碼如下:

var oo = {
    name : '賢心',
    get sex(){
        return 'man';
    }
};
//顯然這是不允許的,因為賢心并不希望外界去改變他是男性的事實,所以對于sex只設置了只讀功能
oo.sex = 'woman';
console.log(oo.sex); //結果依然是man

 

有意思的是,這顛覆了我們以往的理解,就是在方法定義時并未用function關鍵字。事實上這里的get或set,你可以理解為兩種不同狀態下的function:包容的一面(寫),安全的一面(讀),當一種整體被肢解為不同的形態,意味著我們可能不再需要在表現形式上遵循傳統,所以我們并沒有使用冒號將鍵和值分開。那么,繼續上面的例子。你將如何在存儲器屬性的基礎上變得讀寫兼備呢,也許下面的一段會給你帶來答案:

 

復制代碼 代碼如下:

var oo = {
    name : '賢心',
    get sex(){
        if(this.sexx){
            return this.sexx;
        }else{
            return 'man';
        }
    }, set sex(val){
        this.sexx = val;
    }
};
//噢,他如此包容,乃至于人們改變他的性別,他也接受
oo.sex = 'woman';
console.log(oo.sex); //結果woman

 

或許你會覺得這是多此一舉的,因為我們完全可以忽視get和set,直接讓sex方法具備兩種權限。 但之所以我們將get和set單獨拿出來,是為了更加清晰地理解ECMAScript5對javascript對象鍵值操作中,一個更為嚴謹的詮釋。 當然,在IE污染的中國,新型的主流技術總是顯得格格不入,在實際的項目開發中,也許你永遠不會用到get和set,但誰又能保證以后不會呢……

延伸 · 閱讀

精彩推薦
546
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: 国产精品视频一区二区噜噜 | 666sao| 亚洲免费毛片基地 | 精品一区二区久久久久久久网精 | 无遮挡一级毛片视频 | 久草在线精品观看 | 欧美 日韩 中文 | 特级黄色一级毛片 | 国产福利视频在线观看 | 黄视频| 性生活视频一级 | 2019中文字幕在线播放 | 国产成人av免费观看 | 国产伦精品一区二区三区在线 | 成人午夜精品 | 精品亚洲夜色av98在线观看 | 久久久久久久久成人 | 在线观看免费视频麻豆 | 在线视频观看一区二区 | 久久伊人国产精品 | 欧美成人国产va精品日本一级 | 毛片免费视频在线观看 | 一级在线观看视频 | 国产成人av免费 | a级在线 | 牛牛热这里只有精品 | 久久久久久久久久久影视 | 色污视频在线观看 | 国产91亚洲精品一区二区三区 | va视频在线 | 一级空姐毛片 | 99亚洲精品 | 亚洲午夜久久久精品一区二区三区 | 越南一级黄色片 | 万圣街在线观看免费完整版 | jizzjizz中国人少妇中文 | 鸳鸯谱在线观看高清 | 狠狠操在线观看 | 看免费黄色大片 | 久久精品视频免费 | 欧美视频在线一区二区三区 |