对象实例的循环名称
问题描述:
我需要一个for循环来生成一个对象的4个不同实例,全部使用不同的名称。对象实例的循环名称
for(z = 0; z < 4; z++) {
obstacleY = 699 + (z * 100);
console.log(obstacleY);
mg_terrain = new mg_terrain(1000, obstacleY, 120, 30);
}
我想写一些像mg_terrain + z = new mg_terrain(...);但我不知道这样做的正确方法。
答
必须有此一dupetarget,但基本上,您使用的阵列:
var terrains = []; // ***
for(z = 0; z < 4; z++) {
obstacleY = 699 + (z * 100);
console.log(obstacleY);
terrains[z] = new mg_terrain(1000, obstacleY, 120, 30);
// ^^^^^^^^^^^
}
数组可以让你保持对事物的有序集合 - 在这种情况下,mg_terrain
对象 - 并通过索引(0,1等)访问它们。
如果在某个时刻想知道该阵列有多长时间,则可以使用其属性。数组的最高索引小于它的length
(例如,如果length
是4,则有四个项目:索引0,1,2和3)。
+0
找到了dupetarget:http://stackoverflow.com/questions/14442896/dynamic-variable-name-in-loop –
一个显而易见的问题是你使用实例名称遮盖了构造函数。但是如果你想要四个实例,为什么不使用一个数组呢? – jonrsharpe