国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

ECMAScript中對象的兩種屬性

Jason_Geng / 3363人閱讀

摘要:在寫入訪問器屬性是,會調用函數并傳入新值,這個函數負責決定如何處理數據表示能否通過刪除屬性從而重新定義屬性,能否修改屬性的特性,或者能否把屬性修改為訪問屬性。

1、數據屬性
數據屬性包含一個數據值的位置。這個位置可以讀取和寫入值。數據屬性有4個描述其行為的特性。
[ [ Configurable ] ] 表示能否通過delete刪除屬性從而重新定義屬性,能否修改屬性的特性,或者能否把屬性修改為訪問屬性。默認為true
[ [ Enumerable] ] 表示能否通過for-in循環返回屬性。默認為true
[ [ Writable ] ] 表示能否修改屬性的值。默認為true
[ [ Value ] ] 包含這個屬性的屬性值。讀取屬性的時候,從這個位置讀取,寫入屬性的時候,把新值保存在這個位置。默認為undefined
eg:

var p = {};
Object.defineProperty(p, "name", {
    writable: false,
    value: "nihao" 
})

2、訪問器屬性
訪問器屬性不包含數據值,他們包含一對兒getter和setter函數(不過,這兩個函數都不是必須的)在讀取訪問器屬性的時候會調用getter函數,這個函數負責返回有效的值。在寫入訪問器屬性是,會調用setter函數并傳入新值,這個函數負責決定如何處理數據
[ [ Configurable ] ] 表示能否通過delete刪除屬性從而重新定義屬性,能否修改屬性的特性,或者能否把屬性修改為訪問屬性。默認為true
[ [ Enumerable] ] 表示能否通過for-in循環返回屬性。默認為true
[ [ Get ] ] 在讀取屬性時調用的函數,默認為undefined
[ [ Set ] ] 在寫入屬性時調用的函數,默認為undefined
eg:

var p = {get: 0};
Object.defineProperty(p, "name", {
    get: function (){
        console.log("get");
        return this.get;
    },
    set: function (newVal) {
        console.log("set");
        this.get = newVal;
    }
})

3、讀取屬性的特性
Object.getOwnPropertyDescriptor(屬性所在的對象, 屬性名稱);
返回值是一個對象,訪問屬性configurable 、enumerable、get、set四個屬性,
如果是數值屬性,返回的對象屬性有configurable 、enumerable、writable、value四個屬性
備注:
Object.defineProperties()函數可以定義多個屬性
eg:

var p = {get: 0};
Object.defineProperties(p, {"name", {
    get: function (){
        console.log("get");
        return this.get;
    },
    set: function (newVal) {
        console.log("set");
        this.get = newVal;
    }
}, "age": {
       writable: true,
       value: 11
   }
})

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/96197.html

相關文章

  • JavaScript 面向對象開發知識總結基礎篇

    摘要:字面形式允許你在不需要使用操作符和構造函數顯式創建對象的情況下生成引用值。操作符以一個對象和一個構造函數作為參數鑒別數組有前一小結可以知道鑒別數組類型可以使用。屬性是函數獨有的,表明該對象可以被執行。這種函數被稱為匿名函數。 引子: 1.JavaScript 中的變量類型和類型檢測 1.1原始類型 1.2引用類型 1.3內建類型的實例化 1.4函數的字面形式 1.5正則表達式的字...

    Kross 評論0 收藏0
  • JS對象(1)重新認識面向對象

    摘要:對象重新認識面向對象面向對象從設計模式上看,對象是計算機抽象現實世界的一種方式。除了字面式聲明方式之外,允許通過構造器創建對象。每個構造器實際上是一個函數對象該函數對象含有一個屬性用于實現基于原型的繼承和共享屬性。 title: JS對象(1)重新認識面向對象 date: 2016-10-05 tags: JavaScript 0x00 面向對象 從設計模式上看,對象是...

    superw 評論0 收藏0
  • 淺談OOP Javascript [1]

    摘要:工廠模式優點集中實例化,可以傳參等缺點分不清屬于哪個對象我們先來談談優點,看例子集中實例化返回實例化對象返回返回不難看出,工廠模式比上面的例子減少了很多代碼。 ECMAscript開發的兩種模式:1.過程化 2.OOP(面向對象) 面向對象的語言有一個標志,那就是類的概念,而通過類可以創建任意多個具有相同屬性的方法的對象。但是ECMAscript中沒有類的概念! 又談作用域 首先...

    xinhaip 評論0 收藏0
  • Awe JavaScript [1] 基本概念

    摘要:年,以為藍本的建議被提交給了歐洲計算機制造商協會,。而且給未經聲明的變量賦值在嚴格模式下會導致拋出的錯誤。這也正是使用操作符檢測值時會返回的原因。函數檢查過程是。但是這個轉換過程會導致特殊的和值應用位操作時,這兩個值會被當成來處理。 前言 本文是 Awesome JavaScript 系列文章的第一篇,本系列文章主要為 JavaScript 的一些常見知識點,是我在 JavaScrip...

    CloudwiseAPM 評論0 收藏0

發表評論

0條評論

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