JavaScript是否可以获取对象的所有属性,包括内置属性? for... in
跳过通常需要的内置属性,但在这种情况下不这样做。如果这很重要,我就在使用Node.js,它用于调试目的,因此它不必优雅,快速或可移植。
最佳答案
是的,只是浏览原型并获得所有属性
function getAllProperties(o) {
var properties = [];
while (o) {
[].push.apply(properties, Object.getOwnPropertyNames(o))
o = Object.getPrototypeOf(o);
}
//remove duplicate properties
properties = properties.filter(function(value, index) {
return properties.indexOf(value) == index;
})
return properties;
}
关于javascript - 获取对象的所有属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24442437/