【发布时间】:2017-07-20 14:44:11
【问题描述】:
Object.keys(obj) 返回对象自己的可枚举属性,这类似于 Object.hasOwnProperty() 是真的。我正在寻找的是一个函数,它甚至可以从原型链中提供所有属性
【问题讨论】:
-
for in将遍历原型链中的每个属性。
标签: javascript
Object.keys(obj) 返回对象自己的可枚举属性,这类似于 Object.hasOwnProperty() 是真的。我正在寻找的是一个函数,它甚至可以从原型链中提供所有属性
【问题讨论】:
for in 将遍历原型链中的每个属性。
标签: javascript
使用for ... in 遍历对象的所有属性:
var myObject = {ownProp: 1};
for (let prop in myObject) {
console.log(prop);
}
【讨论】:
Object.allKeys = function(o){ var arr = []; for (let prop in o) { arr.push(prop); } return arr; } 希望这是正确的。
此问题已回答here。它没有内置方法。
Bergi 的建议:(使用.getPrototypeOf() 向上遍历原型链,递归获取每个对象的属性)
var myObj = {ownProp1:1, ownProp2:2};
function logAllProperties(obj) {
if (obj == null) return; // recursive approach
console.log(Object.getOwnPropertyNames(obj));
logAllProperties(Object.getPrototypeOf(obj));
}
logAllProperties(myObj);
【讨论】: