栗子:
var obj = {
"name": "Poly",
"career": "it"
}
Object.defineProperty(
obj, "age",
{ value:"forever 18", enumerable:false }
);
Object.prototype.protoPer1 = function(){console.log("proto");};
Object.prototype.protoPer2 = 2;
for in
用於遍歷對象的可枚舉屬性,包括自有屬性、繼承自原型的屬性
for(var a in obj){
console.log(a);
}
//輸出:name, career, protoPer1, protoPer2
Object.keys
返回一個數組,元素均為對象自有的可枚舉屬性
console.log(Object.keys(obj));
//輸出:["name", "career"]
Object.getOwnProperty
用於返回對象的自有屬性,包括可枚舉和不可枚舉的
console.log(Object.getOwnPropertyNames(obj));
//輸出:["name", "career", "age"]