您好,登錄后才能下訂單哦!
本篇內容介紹了“javascript對象屬性的特征是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
對象特征:
writable
表示是否可以設置屬性的值
let obj = {age:10} obj.age = 1 // 給屬性重新賦值 console.log(obj.age) //1
enumerable
特性指是否可以在 for/in
循環中返回屬性名字,默認自有屬性和繼承屬性都可以枚舉
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 -> 男
configurable
表示是否可通過delete
刪除屬性
let obj = {name:"jim"} delete obj.name // 刪除后該屬性將不存在 console.log(obj.name) //undefined
對象中的自有屬性上面3個特性默認都是 true 。如果要修改這些特征的默認值,可以使用 Object.defineProperty()
方法。defineProperty
接收3個參數, 對象、要修改的屬性名、特征值對象。
例如:如果要設置 sex 屬性的 writable 為 false , 則可通過 defineProperty()方法來操作
let obj = {name:"zhang", age:20, sex:"男"} Object.defineProperty(obj, "sex", {writable:false}) obj.sex = "女" console.log(obj.sex) // 男
設置為writable
為false
后,即使給sex屬性重新賦值為 女 ,但是它的值還是原來的 男 ,可通過類似的操作配置屬性的可枚舉和可配置特性。
“javascript對象屬性的特征是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。