1. 使用Object.keys();
var book = {
"title": "JavaScript 教程",
"author": "Mike"
}
var keys = Object.keys(book); //返回对象的所有可枚举属性
keys.forEach(function (key) {
console.log(key + ":" + book[key]);
})
2. 使用for … in …
var book = {
"title": "JavaScript 教程",
"author": "Mike"
}
for (var i in book) {
console.log(i + ":" + book[i]);
}
3.使用Object.getOwnPropertyNames();
var book = {
"title": "JavaScript 教程",
"author": "Mike"
}
//返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性).
var properts = Object.getOwnPropertyNames(book);
properts.forEach(function (propert) {
console.log(propert + ":" + book[propert]);
});
4.使用Reflect.ownkeys();
var book = {
"title": "JavaScript 教程",
"author": "Mike"
}
//返回一个数组,包含对象的所有属性,不管属性名是Symbol或字符串,也不管是否可枚举.
var keys = Reflect.ownKeys(book);
keys.forEach(function (key) {
console.log(key + ":" + book[key]);
});
参考: 原文