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

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

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

要判断对象实例的自有属性、共有属性;首先看看JS给我们提供的两个方法:

1、判断是否是对象实例的属性

"属性名" in 对象实例

2、判断是否是对象实例的自有属性

对象实例.hasOwnProperty('属性名') 

 

定义一个对象实例:

var obj = {
    name: '小马扎',
    age: 18
};  

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

 

posted @ 2017-12-19 17:58  狂奔的小马扎  阅读(1923)  评论(0编辑  收藏  举报