JS 对象API之判断自有属性、共有属性

时间:2021-01-30 06:04:38

自有属性:对象实例私有的属性,只有该对象实例可用

共有属性:对象实例共有的属性,所有对象实例都可用

要判断对象实例的自有属性、共有属性;首先看看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