2012-06-10 93 views
1

我有一個構造函數,使正方形。從javascript中的構造函數創建編號的對象

我想我的代碼使用循環自動創建這個構造函數的正方形,並將它們命名爲square1,square2,square3等。

例如。

for (n=1; n < x; n++){ 
var square(n) = new Square(); 
} 

這可能嗎?

如果是的話如何以及如何在循環中引用它們 - 如square(n)?

我是新手編程,oop和javascript,所以很抱歉,如果這真的是ovb。 由於事先

回答

4

這就是數組是什麼:

var squares = new Array(); 
for (var n = 1; n < x; n++) { 
    squares.push(new Square()); 
} 

現在你能夠與他們從零開始的索引來訪問它們:

squares[0].someMethod(); // etc.. 

要通過遍歷所有的方格中該陣列:

for (var i = 0; i < squares.length; i++) { 
    squares[i].someMethod(); 
} 
+1

您可以簡單地使用'squares.push(...)'來追加一個新的元素。 – ThiefMaster

+0

是的,那好些,謝謝! – Niko

+0

所以正方形是一個數組,所有被稱爲Square的對象都是由數組索引引用的? –

0

這是一個非常討厭的想法。使用數組用於此目的:

var squares = []; 
for (var n = 1; n < x; n++) { 
    squares.push(new Square()); 
} 

無論如何,如果你真的想這樣做:

window['square' + n] = new Square(); 

這將創建一個全局變量。沒有乾淨的,沒有辦法像這樣創建當地人。

相關問題