我有一个制作正方形的构造函数。
我希望我的代码使用循环从这个构造函数自动创建正方形,并将它们命名为 square1、square2、square3 等。
例如。
for (n=1; n < x; n++){
var square(n) = new Square();
}
这可能吗?
如果是这样,我如何以及如何在循环中引用它们 - 比如 square(n)?
我是编程新手,oop 和 javascript 很抱歉,如果这真的是 ovb。提前致谢
我有一个制作正方形的构造函数。
我希望我的代码使用循环从这个构造函数自动创建正方形,并将它们命名为 square1、square2、square3 等。
例如。
for (n=1; n < x; n++){
var square(n) = new Square();
}
这可能吗?
如果是这样,我如何以及如何在循环中引用它们 - 比如 square(n)?
我是编程新手,oop 和 javascript 很抱歉,如果这真的是 ovb。提前致谢
这就是数组的用途:
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();
}
这是一个非常讨厌的想法。为此目的使用数组:
var squares = [];
for (var n = 1; n < x; n++) {
squares.push(new Square());
}
无论如何,如果你真的想这样做:
window['square' + n] = new Square();
这将创建全局变量。没有干净的、eval
更少的方法来创建这样的本地人。