1.
var obj = {
name:"AAA",
age:18,
sex:"male",
__proto__:{Lastname:"Pan"}
};
for(var key in obj){
if(obj.hasOwnProperty(key)){
console.log(key);
}
}
通过枚举,打印出对象obj里的每个属性name,age,sex。
其中,关于hasOwnPreperty()的用法:
hasOwnPreperty()剔除原型链上的属性,如果是true,说明不是原型的属性
1. if(obj.hasOwnPreperty(key)){console.log(obj[key])}即不会把原型上的属性一起打印出来
2. if(!obj.hasOwnPreperty(key)){console.log(obj[key])},只打印原型上的属性,
2.
var obj = {
name:"AAA",
age:18,
sex:"male",
__proto__:{Lastname:"Pan"}
};
for(var key in obj){
if(obj.hasOwnProperty(key)){
console.log(obj[key]);
}
}
属性表示方法:
// 1.obj.key
// 2.obj[字符串]或[变量 k ]采用访问属性的第二种方法Obj[变量 k],打印出对象的每个属性值
3.
var obj = {
name:"AAA",
age:18,
sex:"male",
__proto__:{Lastname:"Pan"}
};
for(var key in obj){
if(obj.hasOwnProperty(key)){
console.log(obj.key);
}
}
结果会报错,因为有个转换过程:obj.key ---> obj["key"],把变量 key设置为字符串了,当做是某个常量的属性名。