1

私は正方形を作るコンストラクタを持っています。

ループを使用してこのコンストラクターから正方形を自動的に作成し、square1、square2、square3 などの名前を付けたいと思います。

例えば。

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

これは可能ですか?

もしそうなら、square(n) のようにループ内でそれらを参照するにはどうすればよいですか?

私はプログラミング、おっと、javascript が初めてなので、これが本当に ovb である場合は申し訳ありません。前もって感謝します

4

2 に答える 2

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();
}
于 2012-06-10T12:11:14.333 に答える
0

それはかなり厄介な考えです。この目的のために配列を使用します。

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

とにかく、本当にやりたいのなら:

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

これにより、グローバルが作成されます。evalそのようなローカルを作成するクリーンな方法はありません。

于 2012-06-10T12:11:42.320 に答える