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/

10-14 02:36