标签:转化 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