【问题标题】:Javascript Class Object - Same values Multiple namesJavascript类对象 - 相同的值多个名称
【发布时间】:2015-12-07 14:27:25
【问题描述】:

我想使用一个类创建多个对象,例如:

function _Class(_number) {
     this.numer = _number;
    }

我想制作 36 个具有相同属性但值不同的对象。我几乎坚持开始,因为我使用了循环:

for (var i = 0; i < 37; i++) {
name="number_"+i;    
var name=new _Class(i); 
}

在这段代码之后,我无法访问任何对象。有没有办法可以创建一个名称为数组值的变量?

所有代码:

//test 
function test(x){
    for (var i = 0; i < 37; i++) {
        document.write(x);
    }
}
var pola = [0, 32, 15, 19, 4, 21, 2, 25, 17, 34, 6, 27, 13, 36, 11, 30, 8, 23, 10, 5, 24, 16, 33, 1, 20, 14, 31, 9, 22, 18, 29, 7, 28, 12, 35, 3, 26, 0];
var nazwy_obiektow = new Array(100);
for (var i = 0; i < 37; i++) {
    nazwy_obiektow[i] = "liczba_" + i;
}
function _Klasa_Liczb() {
     this.numer = 1;
    }
for (var i = 0; i < 37; i++) {
    var nazwy_obiektow[i]=new _Klasa_Liczb; 
}
test(liczba_0);

【问题讨论】:

  • 在循环外创建变量。要将其初始化为数组,最简洁的方法是:var myArray = [];

标签: javascript arrays class variables object


【解决方案1】:

你可以使用数组。

function _Class(_number) {
        this.numer = _number;
 }
 var objects = [];
 for (var i = 0; i < 37; i++) {
    name = "number_" + i;
    objects[i] = new _Class(name);
 }

然后你可以看到数组中的每个对象(objects[0]objects[1]、...)。

【讨论】:

  • 这样做了,我无法在代码之外访问对象的值。
  • 你的 var 对象在哪里?认为变量的范围是声明的函数。在函数之外定义你的对象。
  • @Czcibor 如果您认为这是对您问题的正确答案,则应将其标记为“答案”,以便其他用户知道它对您有所帮助。
猜你喜欢
  • 2016-12-25
  • 2013-04-05
  • 1970-01-01
  • 2012-07-13
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 2016-01-04
  • 2013-06-16
相关资源
最近更新 更多