1

我有一个制作正方形的构造函数。

我希望我的代码使用循环从这个构造函数自动创建正方形,并将它们命名为 square1、square2、square3 等。

例如。

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

这可能吗?

如果是这样,我如何以及如何在循环中引用它们 - 比如 square(n)?

我是编程新手,oop 和 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 回答