国产精品爱久久久久久久小说,女人扒开腿让男人桶到爽 ,亚洲欧美国产双大乳头,国产成人精品综合久久久久,国产精品制服丝袜无码,免费无码精品黄av电影,黑色丝袜无码中中文字幕,乱熟女高潮一区二区在线

            JavaScript 對象可以做到的三件事

            2020-5-12    seo達人

            1. 訪問內部屬性

            JavaScript 對象無法以常規方式訪問的內部屬性。內部屬性名由雙方括號[[]]包圍,在創建對象時可用。


            內部屬性不能動態地添加到現有對象。


            內部屬性可以在某些內置 JavaScript 對象中使用,它們存儲ECMAScript規范指定的內部狀態。


            有兩種內部屬性,一種操作對象的方法,另一種是存儲數據的方法。例如:


            [[Prototype]] — 對象的原型,可以為null或對象

            [[Extensible]] — 表示是否允許在對象中動態添加新的屬性

            [[PrivateFieldValues]] — 用于管理私有類字段

            2. 屬性描述符對象

            數據屬性包含了一個數據值的位置,在這個位置可以讀取和寫入值。也就是說,數據屬性可以通過 對象.屬性 訪問,就是我么平常接觸的用戶賦什么值,它們就返回什么,不會做額外的事情。


            數據屬性有4個描述其行為的特性(為了表示內部值,把屬性放在兩對方括號中),稱為描述符對象。


            屬性 解釋 默認值

            [[Configurable]] 能否通過delete刪除屬性從而重新定義屬性;

            能否修改屬性的特性;

            能否把屬性修改為訪問器屬性 true

            [[Enumerable]] 能否通過for-in循環返回屬性 true

            [[Writable]] 能否修改屬性的值 true

            [[Value]] 包含這個屬性的數據值 undefined

            value 描述符是屬性的數據值,例如,我們有以下對象 :


            let foo = {

             a: 1

            }

            那么,a 的value屬性描述符為1。


            writable是指該屬性的值是否可以更改。 默認值為true,表示屬性是可寫的。 但是,我們可以通過多種方式將其設置為不可寫。


            configurable 的意思是可以刪除對象的屬性還是可以更改其屬性描述符。 默認值為true,這意味著它是可配置的。


            enumerable 意味著它可以被for ... in循環遍歷。 默認值為true,說明能通過for-in循環返回屬性


            將屬性鍵添加到返回的數組之前,Object.keys方法還檢查enumerable 描述符。 但是,Reflect.ownKeys方法不會檢查此屬性描述符,而是返回所有自己的屬性鍵。


            Prototype描述符有其他方法,get和set分別用于獲取和設置值。


            在創建新對象, 我們可以使用Object.defineProperty方法設置的描述符,如下所示:


            let foo = {

             a: 1

            }

            Object.defineProperty(foo, 'b', {

             value: 2,

             writable: true,

             enumerable: true,

             configurable: true,

            });

            這樣得到foo的新值是{a: 1, b: 2}。


            我們還可以使用defineProperty更改現有屬性的描述符。 例如:


            let foo = {

             a: 1

            }

            Object.defineProperty(foo, 'a', {

             value: 2,

             writable: false,

             enumerable: true,

             configurable: true,

            });

            這樣當我們嘗試給 foo.a 賦值時,如:


            foo.a = 2;

            如果關閉了嚴格模式,瀏覽器將忽略,否則將拋出一個錯誤,因為我們將 writable 設置為 false, 表示該屬性不可寫。


            我們還可以使用defineProperty將屬性轉換為getter,如下所示:


            'use strict'

            let foo = {

             a: 1

            }


            Object.defineProperty(foo, 'b', {

             get() {

               return 1;

             }

            })

            當我們這樣寫的時候:


            foo.b = 2;

            因為b屬性是getter屬性,所以當使用嚴格模式時,我們會得到一個錯誤:Getter 屬性不能重新賦值。


            3.無法分配繼承的只讀屬性

            繼承的只讀屬性不能再賦值。這是有道理的,因為我們這樣設置它,它是繼承的,所以它應該傳播到繼承屬性的對象。


            我們可以使用Object.create創建一個從原型對象繼承屬性的對象,如下所示:


            const proto = Object.defineProperties({}, {

             a: {

               value: 1,

               writable: false

             }

            })


            const foo = Object.create(proto)

            在上面的代碼中,我們將proto.a的 writable 描述符設置為false,因此我們無法為其分配其他值。


            如果我們這樣寫:


            foo.a = 2;

            在嚴格模式下,我們會收到錯誤消息。


            總結

            我們可以用 JavaScript 對象做很多我們可能不知道的事情。


            首先,某些 JavaScript 對象(例如內置瀏覽器對象)具有內部屬性,這些屬性由雙方括號包圍,它們具有內部狀態,對象創建無法動態添加。


            JavaScript對象屬性還具有屬性描述符,該屬性描述符使我們可以控制其值以及可以設置它們的值,還是可以更改其屬性描述符等。


            我們可以使用defineProperty更改屬性的屬性描述符,它還用于添加新屬性及其屬性描述符。


            最后,繼承的只讀屬性保持只讀狀態,這是有道理的,因為它是從父原型對象繼承而來的。

            日歷

            鏈接

            個人資料

            藍藍設計的小編 http://www.dzxscac.cn

            存檔

            主站蜘蛛池模板: 超薄肉色丝袜一区二区| 亚洲欧洲一区二区| 色91视频| 丰满少妇又爽又紧又丰满在线观看| 一二三区视频| 日韩高清免费av| 强开小婷嫩苞又嫩又紧视频 | 131mm少妇做爰视频| 亚洲欧美伊人久久综合一区二区| 成人国产精品一区二区| 99久久婷婷国产综合精品青草漫画| 久久国产精品人妻丝袜| 色哟哟一区二区| 欧美动态视频| 自拍偷在线精品自拍偷99| 四虎免费最新在线永久4hu| 1024国产在线| 国产精品无码一区二区三区电影| 高清国产天干天干天干不卡顿 | 人人玩人人添人人澡超碰偷拍| 免费午夜视频| av网站在线免费看| 777天堂麻豆爱综合视频| 熟女人妻大叫粗大受不了| 亚洲av无码国产综合专区| 91免费视频免费版| 美女张开腿让人桶| 国产高清在线男人的天堂 | 国产高清免费视频| 欧美另类xxxxx| 久久人人爽人人人人爽av| 亚洲国产精品成人影片久久| 激情偷乱人成视频在线观看| 国语对白清晰刺激对白| 国产精品一在线观看| 精品伊人久久大线蕉色首页| 欧美精品福利视频| 免费国产一级 片内射老| 一区二区三区午夜无码视频 | 97无码人妻福利免费公开在线视频| 亚洲熟妇无码八v在线播放|