您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“JavaScript中Object.getOwnPropertyNames()方法怎么用”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“JavaScript中Object.getOwnPropertyNames()方法怎么用”這篇文章吧。
Object.getOwnPropertyNames()
方法同樣是也是以對象為參數,返回一個包含該對象內所匹配的屬性和方法的數組
大家在這里會發出疑問,這兩個有啥區別?Object.getOwnPropertyNames()
可以返回所有的屬性,而Object.keys()
只能返回可枚舉屬性,誒?到這里大家又疑惑了可枚舉屬性又是個啥?不要著急,我來解釋一下什么叫可枚舉屬性
可枚舉或者不可枚舉屬性是對象內部通過可枚舉標志enumerable來進行區分的,在默認情況下,我們obj.name = "cxy"
為對象新增了一個屬性后,其可枚舉標志enumerable為ture,而當其值為false的時候它是不可枚舉的,當我們對對象進行for
,Object.keys()
,JSON.stringify()
的時候不可枚舉屬性是找不出來的,我們可以理解為不可枚舉屬性是隱身的
現在我們拿上面的Object.getOwnPropertyNames
和Object.keys()
進行實戰舉例,我們通過defineProperty來為對象添加age屬性,因為該方法可以設置枚舉標志,這里設置為false,可以看到下面兩個不同的返回結果
var stuObj = { name: "cxy" } Object.defineProperty(stuObj, 'age', { value: "18", enumerable: false }); console.log(Object.keys(stuObj)) console.log(Object.getOwnPropertyNames(stuObj))
以上是“JavaScript中Object.getOwnPropertyNames()方法怎么用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。