一般我们检查对象中是否含有某个属性时都是使用in
例如创建对象 var obj=new Object();
添加name属性 obj.name="孙悟空";
使用in检查对象中是否含有该属性 console.log("name" in obj)
返回true则证明含有该属性
但是当对象的原型中也含有该属性而自己本身不含有该属性时要使用hasOwnProperty()来检查
例如
function Person(){
}
Person.prototype.a=123//给函数的原型中添加属性a=123
var mc=new Person();//mc是创建的对象
使用console.log("a" in mc)时也会返回true不符合,
而用console.log(mc.hasOwnProperty("a"))会返回false,避免造成原型中有属性而自己本身没有该属性的错误