object常用对象方法

一、hasOwnProperty

hasOwnProperty()方法用来判断某个对象是否含有指定的自身属性

用于检查给定的属性在当前对象实例中(而不是在实例原型中)是否存在

重点: for in vs hasOwnProperty

for in  会遍历出对象继承中的可枚举属性

function Person(){
  this.name='tom';
  this.age=18;
}
Person.prototype.height = 180;
let p = new Person();
for( let key in p){
   console.log(key + "-" + p[key]);
 // name-tom
  // age-18
  // height-180
}
View Code

遍历对象自有属性

function Person(){
  this.name='tom';
  this.age=18;
}
Person.prototype.height = 180;
let p = new Person();
for( let key in p){
   if(p.hasOwnProperty(key)){
    console.log("自身属性:"+key);// name ,age
   }else{
    console.log("继承别处的属性:"+key);// height
   }
}

 二、isPropertyof

isPrototypeOf是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回false。

猜你喜欢

转载自www.cnblogs.com/shangyueyue/p/9924621.html