2013-08-22 38 views
0

這裏循環是我的代碼beginner javascript;對於對象的數組現身爲未定義

function Person (name, age) { 
this.name = name; 
this.age = age; 
} 

var family = new Array(); 
family[0] = new Person("alice", 40); 
family[1] = new Person("bob", 42); 
family[2] = new Person("michelle", 8); 
family[3] = new Person("timmy", 6); 

for (i =0; i<= family.length; i++) { 
    console.log (family[i].name); 
} 

這將產生一個錯誤: 類型錯誤:無法讀取的不確定

屬性「名」

任何人都可以點我在正確的從這裏開始?

回答

3

你正在迭代太遠。

for (var i = 0; i < family.length; i++) 

JavaScript數組從零開始,最後一個非空單元格位於length - 1。因此,當索引等於長度時,您不得不停止迭代,而不是在長度大於時。

2

你應該改變你的測試條件爲i < family.length,你越界了。

+0

其固定的,謝謝!並感謝您的快速回復! – user1877731

+0

歡迎。如果它解決了您的問題,您也可以將其標記爲答案。 –

1

i < family.length怎麼樣?

1

更改< =到<。您超出了數組限制。