使用for in遍历对象时,需要用hasOwnProperty(key)方法过滤掉非对象自身的属性(继承自原型链的属性)
var obj = {
"name" : "zh",
"age" : 22,
}
for(var key in obj){ //遍历对象的所有属性,包括原型链上的所有属性
if(obj.hasOwnProperty(key){ //判断是否是对象自身的属性,而不包含继承自原型链上的属性
console.log(key); //键名
console.log(arr[key]); //键值
}
}
输出是key名为"name" ,"age"
输出value值为"zh",22