【问题标题】:Looping names of instances of an object [duplicate]对象实例的循环名称[重复]
【发布时间】:2017-03-05 14:59:46
【问题描述】:

我需要一个 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(...);但我不知道这样做的正确方法。

【问题讨论】:

  • 一个明显的问题是您正在使用实例名称隐藏构造函数。但是如果你想要四个实例,为什么不直接使用数组呢?

标签: javascript oop instance


【解决方案1】:

为此必须有一个 dupetarget,但基本上,您使用 array

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 属性(terrains.length)。数组的最高索引比 length 小 1(例如,如果 length 为 4,则有四个项目:索引 0、1、2、3)。

【讨论】:

猜你喜欢
  • 2013-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-18
  • 2017-07-02
  • 1970-01-01
  • 2012-09-12
相关资源
最近更新 更多