js可列舉屬性的遍歷

BFC發表於2018-07-03

var obj = {a: 123};
Object.defineProperty(obj , '_name', {
  value: 23,
  enumerable: false
})

obj._name = 23 //可以直接訪問,但是不能被for in 迴圈,object.keys(),JSON.stringify()訪問;

for...in...:可以列舉物件的繼承的可列舉屬性,相容ie8;
Object.keys:只能列舉物件本身的屬性,最低版本ie9;
Object.getOwnPropertyNames:返回一個由指定物件的所有自身屬性的屬性名(包括不可列舉屬性
但不包括Symbol值作為名稱的屬性)組成的陣列,最低版本ie9;複製程式碼


相關文章