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