码迷,mamicode.com
首页 > 其他好文 > 详细

对象枚举

时间:2020-07-26 01:33:12      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:转化   instance   OLE   property   tor   rop   object   枚举   call   

var obj={
    name:"zzz",
    age:11,
    sex:"mal"
}
for(var pro in obj){
    console.log(pro)
  
console.log(obj.pro)//undefined (因为底层转化为obj["prop"],所以把prop当成了属性,于是打印undefined)
  console.log(obj[pro])//打印正常
  
}

会把obj里面的每一个属性名传递给pro

var obj={
    name:"zzz",
    age:11,
    sex:"mal"
 __proto__:{
    good:"ccc"
  }
}
    for(var pro in obj){
    console.log(pro)
  console.log(obj.pro)//undefined (因为底层转化为obj["prop"],所以把prop当成了属性,于是打印undefined)
  console.log(obj[pro])//打印正常
  
}

这个会把原型上的属性也打印出来,

如果不想要原型上的值可以使用hasOwnPrototype()//判断是不是自己的属性但是不会判断到object.prototype上

var obj={
    name:"zzz",
    age:11,
    sex:"mal",
    __proto__:{
        good:"ccc"
    }
}
for(var pro in obj){
    if(obj.hasOwnProperty(pro)){
        console.log(pro)
    }
}

in:    "name" in obj (判断obj能不能访问到name)

 

A   instanceof  B//看A的原型链上有没有B的原型

 

 

区别对象{}和数组的[]的三种方法

1.constructor   [].constuctor==>ƒ Array() { [native code] }      var demo={}  demo.constuctor==>ƒ Object() { [native code] }

2.instanceof   [] instanceof Array ==>true    [] instanceof Object ==>false  var demo={}  demo instanceof Object ==>true

3.toString   Object.prototype.toString.call([])==>"[object Array]"  Object.prototype.toString.call(demo)==>"[object Object]"

对象枚举

标签:转化   instance   OLE   property   tor   rop   object   枚举   call   

原文地址:https://www.cnblogs.com/fhzm/p/13377949.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!