列出Object.prototype的属性

时间:2014-07-14 06:55:39

标签: javascript

我正在尝试打印出Object.prototype的属性,但结果仍然会获得undefined。谁能告诉我我做错了什么?

for (var property in Object.prototype) {
    if (Object.prototype.hasOwnProperty(property)) {
        console.log(property);

    }
}

undefined

2 个答案:

答案 0 :(得分:2)

你没有"未定义",你的循环只执行0次,你的JavaScript控制台的REPL向你显示最后一个语句的值是"未定义"

Object.prototype has no enumerable properties

答案 1 :(得分:1)

微薄的回答是正确的,但我会解释如何在这里做你想做的事。

您需要使用Object.getOwnPropertyNames来获取列表。

var properties = Object.getOwnPropertyNames(Object.prototype);
for (var i=0; i<properties.length; i++) {
    if (Object.prototype.hasOwnProperty(properties[i])) {
        console.log(properties[i]);
    }
}