Object.keys()
方法取得对象上所有可枚举的实例属性
接收一个对象作为参数,返回一个包含所有可枚举属性的字符串数组。
function Person() {
}
Person.prototype.name = "Tom Holland";
Person.prototype.age = 23;
Person.prototype.job = "Spider man";
Person.prototype.sayHi = function() {
alert("love you three thousand times");
};
var keys = Object.keys(Person.prototype);
console.log(keys);
var p1 = new Person();
p1.name = "Robert Downey Jr.";
p1.age = 54;
var p1keys = Object.keys(p1);
console.los(p1keys);
-
for-in
循环返回所有能够通过对象访问的、可枚举的( enumerated )属性
包括存在于实例中的属性,也包括存在于原型中的属性。
-
Object.getOwnPropertyNames()
方法取得所有实例属性,无论是否可枚举(但不包括Symbol值作为名称的属性)。
var keys = Object.getOwnPropertyNames(Person.prototype);
console.log(keys);
var obj = { 0: "a", 1: "b", 2: "c"};
console.log(Object.getOwnPropertyNames(obj).sort());