使用For循环设置变量(JavaScript)

时间:2018-10-26 15:10:30

标签: javascript loops variables

我是JS的新手,例如,我想通过For循环自动设置新变量:

var mybox0

var mybox1

等...

var board = document.getElementById('board');
var boxes = [];

for(var i=0; i<9; i++){
    var myBox = document.createElement('div');
    board.appendChild(myBox);
    myBox.id = "box" + i;
    boxes.push(myBox);
}

1 个答案:

答案 0 :(得分:1)

欢迎使用JavaScript!折叠起来总是很高兴。

简短的回答是,这在JavaScript中是不可能的。您确实有两种选择。您已经实现了第一个:数组。这是一个不错的选择,我个人会选择。

在您的问题的注释中提到的另一种方法是使用对象。代码看起来像这样:

var board = document.getElementById('board');
var boxes = {};

for(var i = 0; i < 9; i++) {
    var myBox = document.createElement('div');
    board.appendChild(myBox);
    myBox.id = "box" + i;
    boxes['mybox' + i] = myBox;
}

然后您可以像这样引用变量:

boxes.mybox0; 
boxes.mybox1;

代替此:

boxes[0];
boxes[1];

我对for循环内的代码的看法是,数组代码比目标代码更具可读性。使用生成的对象的代码对于数组代码同样可读。此外,该数组具有更多用途,因为您可以使用.map.forEach之类的函数更轻松地对其进行迭代。

因此,我认为使用对象执行此操作不会有任何好处,也不会有所损失。坚持使用数组。