【发布时间】:2018-04-27 22:46:08
【问题描述】:
有没有办法使用某种“数组”来命名变量?我的代码是这样的:
for(var i = 0; i < (getHorizontalSquares * getVerticalSquares); i++){
var Square[i] = document.createElement("div");
Square[i].style.position = "relative";
Square[i].style.float = "left";
Square[i].style.width = "50px";
Square[i].style.height = "50px";
Square[i].id = "square" + (i + 1);
for(var ii = 0; ii < 6; ii++){
var TestColor = TestColorArray[Math.round(Math.random()*(TestColorArray.length - 1))];
getTestColor += TestColor;
}
Square[i].style.backgroundColor = "#" + getTestColor;
SquareCont.appendChild(Square[i]);
}
我知道我的代码不起作用,但我想实现相同的想法,以便得到这样的结果:
var Square1...
var Square2...
var Square3...
var Square4...
var Square5...
etc
我也尝试过"Concentration" var,但没有成功。我该怎么做才能使文档不会多次附加同一个正方形?
【问题讨论】:
-
你不能那样做。为什么不直接使用
array并让索引引用i'thSquare? -
不能使用普通变量吗?比如
var square = document.createElement("div"); square.style.position = "relative"; square.style.float = "left";etc... -
您可以通过将属性添加到 OBJECT 而不是数组来做到这一点...您只需将创建的新 div 添加到数组中,这就是您所追求的。
var square = {};然后在你的 for 循环中:square['Square'+i] = 'something';会给你一个对象(正方形),你有 square.Square1、square.Square2 等,你可以循环遍历对象属性,就像你可以数组一样。 -
@JohanP 我想过,但我想我可以走捷径。
-
@AndrewLohr 当我尝试这样做时,另一个 div 的背景颜色不会改变。
标签: javascript arrays var