在这里,我创建了一个父类的实例,并在对象本身上定义了一个名为微笑的属性。我知道在构造函数的原型上定义的属性不是对象自己的属性。但是为什么“微笑”属性没有通过循环内的hasOwnProperty测试呢?
function Parent(){
this.name='parent';
}
Parent.prototype.age='34';
var p=new Parent();
p.smile='nice'; // not an own property ?
console.log(p);
for(var prop in p){
if(Object.hasOwnProperty(prop)){
console.log(prop); // prints only "name"
}
}