自有属性:对象实例私有的属性,只有该对象实例可用
共有属性:对象实例共有的属性,所有对象实例都可用
要判断对象实例的自有属性、共有属性;首先看看JS给我们提供的两个方法:
1、判断是否是对象实例的属性
"属性名" in 对象实例
2、判断是否是对象实例的自有属性
对象实例.hasOwnProperty('属性名')
定义一个对象实例:
var obj = {
name: '小马扎',
age:
}; Object.prototype.car = '筋斗云'; // 在Object类中定义car属性
1、判断是否是对象实例的属性
console.log("car" in obj); // true
console.log("fly" in obj); // false
2、判断是否是对象实例私有的属性
console.log(obj.hasOwnProperty('name')); // true
console.log(obj.hasOwnProperty('car')); // false
3、判断是否是对象实例私有的属性
console.log(!obj.hasOwnProperty("car") && "car" in obj) // true
console.log(!obj.hasOwnProperty("name") && "name" in obj) // false