這裏你可以看到一個工作示例:爲什麼在循環數組時,JavaScript對象輸出爲「未定義」?
http://jsfiddle.net/bwhitney/ZDHp4/1/
我想在JavaScript中創建對象的數組。當我嘗試訪問對象時,我得到「未定義」輸出。下面是一些示例代碼:
var dates = [];
var beginDate1 = new Date("01/01/01");
var endDate1 = new Date("02/02/02");
var beginDate2 = new Date("03/03/03");
var endDate2 = new Date("04/04/04");
// this outputs the correct dates
alert("before: " + beginDate1 + "--" + endDate1);
alert("before: " + beginDate2 + "--" + endDate2);
dates.push({
"beginDate": beginDate1,
"endDate": endDate1
}, {
"beginDate": beginDate2,
"endDate": endDate2
});
var date;
for (date in dates) {
// this outputs "date: undefined--undefined"
// why would that be?
alert("after: " + date.beginDate + "--" + date.endDate);
}
我明白了。所以使用數組索引的for循環就是我真正想要的東西。感謝關於升序數字順序的提示。 –