對象操作想必做前端的同行們都不會(huì)陌生,在傳統(tǒng)對象操作中我們都習(xí)慣了直接使用.屬性來直接設(shè)置或修改對象的屬性,但是如果想要設(shè)置屬性無法進(jìn)行修改,或者不希望自己的有些數(shù)據(jù)被別人直接今天文匯軟件小編就來為大家分享下。
1.Object.defineProperty
給一個(gè)對象定義一個(gè)新的屬性或者在修改一個(gè)對象現(xiàn)有的屬性,并返回這個(gè)對象
語法:
Object.defineProperty(參數(shù)1,參數(shù)2,參數(shù)3)
參數(shù)1:目標(biāo)對象
參數(shù)2:要修改或者添加的屬性名稱
參數(shù)3:目標(biāo)對象屬性的一些特征(是一個(gè)對象)
參數(shù)1:
value:屬性值
參數(shù)2:
writable:對象屬性值時(shí)候可以被修改 true允許 false不允許
參數(shù)3:
configurable:對象屬性是否可以被刪除 true允許 false不允許
參數(shù)4:
enumerable:對象屬性是否可以被枚舉
2.value 和 writable
value 和 writable 叫 數(shù)據(jù)描述符,具有以下可選鍵值:
value: 該屬性對應(yīng)的值??梢允侨魏斡行У?JavaScript 值(數(shù)值,對象,函數(shù)等)。默認(rèn)為 undefined。
writable: 當(dāng)且僅當(dāng)該屬性的 writable 為 true 時(shí),該屬性才能被賦值運(yùn)算符改變。但不能刪除。該屬性默認(rèn)為 false。
3.enumerable
enumerable 也是該方法傳參中最后一項(xiàng) descriptor 中的屬性描述符。設(shè)置 enumerable 屬性為false 后,遍歷對象的時(shí)候會(huì)忽略當(dāng)前屬性(如果未設(shè)置,默認(rèn)就是 false 不可遍歷)。
4.configurable
configurable 是該方法傳參中最后一項(xiàng) descriptor 中的屬性描述符。configurable 的值設(shè)置為 false 后(如果沒設(shè)置,默認(rèn)就是 false)。以后就不能再次通過 Object.defineProperty() 方法修改屬性,也無法刪除該屬性。如果configurable 的值設(shè)置為 true 后,能刪除該屬性,但也不能修改。
大體就是這樣了,謝謝大家關(guān)注專業(yè)濟(jì)南App開發(fā)、微信小程序開發(fā)的山東文匯軟件官網(wǎng)。