我有一些代码:
var obj = function() { }; // functional object
obj.foo = 'foo';
obj.prototype.bar = 'bar';
for (var prop in obj) {
console.log(prop);
}
意外的是,记录的全部都是
foo
。因为我没有检查hasOwnProperty
,所以我期望for循环也会遍历obj
原型的属性(即bar
)。我错过了什么?是否有一种惯用的方法可以遍历原型中的所有属性?我在Chrome和IE10中进行了测试。
提前致谢。