使用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