in 检测某属性是否是某对象的自有属性或者是继承属性返回bool类型
Object.prototype.hasOwnProperty()检测给定的属性是否是对象的自有属性,对于继承属性将返回false
Object.prototype.propertyIsEnumerable() 检测给定的属性是否是该对象的自有属性,并且该属性是可枚举的。通常由JS代码创建的属性都是可枚举的,但是可以使用特殊的方法改变可枚举性。
var obj = {
name:'’xiaoming’,
}
Console.log(‘name’ in obj);//true
console.log(obj.hasOwnProperty("toString");) //false,toString 为obj的继承属性
console.log(obj.propertyIsEnumerable(“toString”)); //false,不可枚举
console.log(obj.propertyIsEnumerable(“name”)); //true,可枚举