在JavaScript中,可以使用 for...in
循环遍历对象的属性。这个循环会遍历对象的所有可枚举属性,包括继承的属性。
for (let key in object) {
if (object.hasOwnProperty(key)) {
// do something with object[key]
}
}
上述代码中,key
是对象的属性名,object[key]
是对应的属性值。注意,为了排除继承的属性,需要使用 hasOwnProperty()
方法。
此外,ES2015引入了 Object.keys()
和 Object.getOwnPropertyNames()
方法,可以分别获取对象自身的可枚举属性和所有属性名(包括不可枚举属性)。
Object.keys(object).forEach(function(key) {
// do something with object[key]
});
Object.getOwnPropertyNames(object).forEach(function(key) {
// do something with object[key]
});
需要注意的是,这两个方法只返回对象自身的属性名,不包括继承的属性。