成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

javascript中的數(shù)據(jù)屬性和存儲器屬性

DevTalking / 610人閱讀

摘要:在中,對象的屬性分為數(shù)據(jù)屬性和存儲器屬性兩種兩種屬性的區(qū)別我們使用先來直觀的感受一下這兩者的不同。存儲器屬性看完了數(shù)據(jù)屬性和存儲器屬性直觀上的差異,我們詳細(xì)看一看存儲器屬性這個容易會被忽視說的就是我的屬性。

在javascript中,對象的屬性分為數(shù)據(jù)屬性和存儲器屬性兩種:

兩種屬性的區(qū)別

我們使用Object.defineProperty()先來直觀的感受一下這兩者的不同。

使用Object.defineProperty()對數(shù)據(jù)屬性進(jìn)行設(shè)置的方法如下

var obj = {};
Object.defineProperty(obj, "prop", {
  value: 1,
  writable: true, //可寫性
  enumerable: true, //可枚舉性
  configurable: true //設(shè)置該屬性是否能被刪除,以及enumerable屬性是否可以被修改
})

使用Object.defineProperty()對存儲器屬性的設(shè)置方法如下

var obj = {};
Object.defineProperty(obj, "prop", {
  get
  set
  enumerable: true, //可枚舉性
  configurable: true //設(shè)置該屬性是否能被刪除,以及enumerable屬性是否可以被修改
})

從上面的例子中,我們觀察到存儲器屬性并沒有value和writable兩個屬性,取而代之的是set和get屬性。

存儲器屬性

看完了數(shù)據(jù)屬性和存儲器屬性直觀上的差異,我們詳細(xì)看一看存儲器屬性這個容易會被忽視(說的就是我TT)的屬性。

存儲器屬性與數(shù)據(jù)屬性最大的不同就是增加了getter/setter,通過它們可以對屬性的值進(jìn)行操作,可以實現(xiàn)一些實用的功能。

//example1
function serialnum() {
  var n =1;  
  var prop = null;
    Object.defineProperty(this, "n", {
      get: function() {
        return n;
      },
      set: function(value) {
        if(value > n) n = value;
        else throw "請輸入一個大于n的值";
      }
    })
}

var obj = new serialnum();
obj.n = 2;
//2
obj.n = 0;
//Uncaught 請輸入一個大于n的值

上面的例子中,使用set函數(shù)對n的取值范圍進(jìn)行控制。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/79049.html

相關(guān)文章

  • V8 中的 Fast 屬性

    摘要:這些是中可用的最快屬性。通常來說我們將線性屬性存儲中存儲的屬性稱為。因此也支持所謂的屬性。整數(shù)索引屬性的處理和命名屬性的復(fù)雜性相同。 本文為譯文,原文地址:http://v8project.blogspot.com...,作者,@Camillo Bruni ,V8 JavaScript Engine Team Blog 在這篇博客中,我們想解釋 V8 如何在內(nèi)部處理 JavaScrip...

    Andrman 評論0 收藏0
  • JavaScript優(yōu)化之管理作用域

    摘要:當(dāng)被創(chuàng)建時,它的作用域鏈初始化為當(dāng)前運(yùn)行函數(shù)的屬性中的對象,這些值按照他們出現(xiàn)在函數(shù)中的順序,被復(fù)制到執(zhí)行環(huán)境的作用域鏈中。然后這個對象被推入作用域鏈最前端。 在計算機(jī)科學(xué)中,數(shù)據(jù)存儲的位置關(guān)系到代碼執(zhí)行過程中數(shù)據(jù)的檢索速度,有一個經(jīng)典的問題即為:通過改變數(shù)據(jù)的存儲位置來獲得最佳的讀寫性能。 Javascript中四種基本的數(shù)據(jù)存儲位置 字面量字面量只代表自身,不存儲在特定的位置。...

    fox_soyoung 評論0 收藏0
  • 面向?qū)ο蠛喗?/b>

    摘要:面向?qū)ο蟾攀龊唵蔚母攀鲆韵旅嫦驅(qū)ο竺嫦驅(qū)ο笞兂傻娜Q為,簡稱。面向?qū)ο缶幊炭梢钥醋鲿r使用一系列對象相互協(xié)作的軟件設(shè)計。面向?qū)ο缶幊痰娜齻€重要特征封裝,繼承,多態(tài)。構(gòu)造函數(shù)的方法內(nèi)關(guān)鍵字會指向當(dāng)前對象。凍結(jié)對象禁止對對象執(zhí)行任何修改操作。 面向?qū)ο?概述 簡單的概述以下面向?qū)ο?面向?qū)ο笞兂傻娜Q為object oriented programming, 簡稱oop。 面向?qū)ο缶幊虝r用抽...

    _ivan 評論0 收藏0
  • 如何使用HTML5自定義數(shù)據(jù)屬性

    摘要:在之前,你必須使用以下代碼來訪問數(shù)據(jù)屬性從版本開始,使用駝峰命名法版本的數(shù)據(jù)屬性。 在本文中,我將向你介紹如何使用HTML5自定義數(shù)據(jù)屬性。我還將向你介紹一些開發(fā)人員在工作中經(jīng)常使用的優(yōu)秀實例。 為什么需要自定義數(shù)據(jù)屬性? 很多時候我們需要存儲一些與不同DOM元素相關(guān)聯(lián)的信息。這些信息對于讀者來說可能是不需要的,但是可以輕松的訪問這些信息將會給我們開發(fā)者的工作帶來極大的便利。 例如...

    UsherChen 評論0 收藏0

發(fā)表評論

0條評論

DevTalking

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<