當遍歷一個對象時,通過使用obj.key引用所有的值在obj [key]正常工作時得到「undefined」。他們應該是等同的,不是嗎?我錯過了什麼嗎?Javascript枚舉對象值:差異obj.key vs obj [key]
的jsfiddle鏈接:http://jsfiddle.net/nLLcawcn/4/
function iterateObj(obj, callback) {
if (obj == null || typeof obj != "object") {
return;
}
for (var key in obj) {
// callback(key, obj[key]);
console.log("obj.key--->" + obj.key);
console.log("obj[key]--->" + obj[key]);
// callback(key, obj.key);
}
}
var sample = {
start: "bar",
notes: [{
location: "somewhere"
}, {
time: "someday"
}],
anotherobj: {
another: "1",
another1: "3",
another2: "2"
},
end: "foo"
}
iterateObj(sample, function (key, value) {
// console.log("key: " + key+ ", " + "value: "+ value);
})
我給你做了一個小例子: http://jsbin.com/xefinokerowi/1/edit?js,console – 2014-10-17 15:24:03