對象操作想必做前端的同行們都不會陌生,在傳統(tǒng)對象操作中我們都習慣了直接使用.屬性來直接設置或修改對象的屬性,但是如果想要設置屬性無法進行修改,或者不希望自己的有些數據被別人直接今天文匯軟件小編就來為大家分享下。
1.Object.defineProperty
給一個對象定義一個新的屬性或者在修改一個對象現(xiàn)有的屬性,并返回這個對象
語法:
Object.defineProperty(參數1,參數2,參數3)
參數1:目標對象
參數2:要修改或者添加的屬性名稱
參數3:目標對象屬性的一些特征(是一個對象)
參數1:
value:屬性值
參數2:
writable:對象屬性值時候可以被修改 true允許 false不允許
參數3:
configurable:對象屬性是否可以被刪除 true允許 false不允許
參數4:
enumerable:對象屬性是否可以被枚舉
2.value 和 writable
value 和 writable 叫 數據描述符,具有以下可選鍵值:
value: 該屬性對應的值??梢允侨魏斡行У?JavaScript 值(數值,對象,函數等)。默認為 undefined。
writable: 當且僅當該屬性的 writable 為 true 時,該屬性才能被賦值運算符改變。但不能刪除。該屬性默認為 false。

3.enumerable
enumerable 也是該方法傳參中最后一項 descriptor 中的屬性描述符。設置 enumerable 屬性為false 后,遍歷對象的時候會忽略當前屬性(如果未設置,默認就是 false 不可遍歷)。

4.configurable
configurable 是該方法傳參中最后一項 descriptor 中的屬性描述符。configurable 的值設置為 false 后(如果沒設置,默認就是 false)。以后就不能再次通過 Object.defineProperty() 方法修改屬性,也無法刪除該屬性。如果configurable 的值設置為 true 后,能刪除該屬性,但也不能修改。

大體就是這樣了,謝謝大家關注專業(yè)濟南App開發(fā)、微信小程序開發(fā)的山東文匯軟件官網。



