javascript對象3個屬性特征
對象特征:
1、writable:可寫
writable
表示是否可以設(shè)置屬性的值
let obj = {age:10} obj.age = 1 // 給屬性重新賦值 console.log(obj.age) //1
2、enumerable:可枚舉
enumerable
特性指是否可以在 for/in
循環(huán)中返回屬性名字,默認(rèn)自有屬性和繼承屬性都可以枚舉
let obj = {name:"zhang", age:20, sex:"男"} let newObj = Object.create(obj) newObj.height = 200 for(p in newObj){ console.log(p,"->", newObj[p]) }
輸出:
height -> 200
name -> zhang
age -> 20
sex -> 男
3、configurable:可配置
configurable
表示是否可通過delete
刪除屬性
let obj = {name:"jim"} delete obj.name // 刪除后該屬性將不存在 console.log(obj.name) //undefined
對象中的自有屬性上面3個特性默認(rèn)都是 true 。如果要修改這些特征的默認(rèn)值,可以使用 Object.defineProperty()
方法。defineProperty
接收3個參數(shù), 對象、要修改的屬性名、特征值對象。
例如:如果要設(shè)置 sex 屬性的 writable 為 false , 則可通過 defineProperty()方法來操作
let obj = {name:"zhang", age:20, sex:"男"} Object.defineProperty(obj, "sex", {writable:false}) obj.sex = "女" console.log(obj.sex) // 男
設(shè)置為writable
為false
后,即使給sex屬性重新賦值為 女 ,但是它的值還是原來的 男 ,可通過類似的操作配置屬性的可枚舉和可配置特性。
到此這篇關(guān)于javascript對象3個屬性特征的文章就介紹到這了,更多相關(guān)javascript對象屬性特征內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JS精髓原型鏈繼承及構(gòu)造函數(shù)繼承問題糾正
這篇文章主要為大家介紹了JS精髓原型鏈繼承及構(gòu)造函數(shù)繼承問題糾正,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06微信小程序 保留小數(shù)(toFixed)詳細(xì)介紹
這篇文章主要介紹了 微信小程序 保留小數(shù)(toFixed)詳細(xì)介紹的相關(guān)資料,這里附有實例,幫助大家學(xué)習(xí)參考此部分知識,需要的朋友可以參考下2016-11-11微信小程序?qū)崿F(xiàn)頁面跳轉(zhuǎn)傳值的方法
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)頁面跳轉(zhuǎn)傳值的方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家實現(xiàn)這樣的功能,需要的朋友可以參考下2017-10-10