JavaScript 遍历对象

  1. 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);// ["name", "age", "job", "sayHi"]
var p1 = new Person();
p1.name = "Robert Downey Jr.";
p1.age = 54;
var p1keys = Object.keys(p1);
console.los(p1keys);//["name", "age"]
  1. for-in 循环返回所有能够通过对象访问的、可枚举的( enumerated )属性
    包括存在于实例中的属性,也包括存在于原型中的属性。

  2. Object.getOwnPropertyNames()方法取得所有实例属性,无论是否可枚举(但不包括Symbol值作为名称的属性)。

var keys = Object.getOwnPropertyNames(Person.prototype);
console.log(keys);//["constructor", "name", "age", "job", "sayHi"]
var obj = { 0: "a", 1: "b", 2: "c"};
console.log(Object.getOwnPropertyNames(obj).sort()); // ["0", "1", "2"]

你可能感兴趣的:(JS)