用变量申请循环

时间:2014-09-12 16:27:39

标签: javascript for-loop

我正在尝试压缩我的代码,因为我发生了很多重复编码。我需要多次应用这个相同的例子。我想创建一个for循环,但我的变量也需要增加。现在我的变量增加但我无法将我的单元格数据实现到变量中。我想我是双重分配var h。我无法弄清楚如何解决这个问题。谢谢你的帮助。

For Loop

for (var j = 2; j<15; j++){eval("var polebrea" +j); 
var h = ("polebrea" +j) 
} 

h = document.getElementById("part1Table").rows[10].cells[2].innerHTML;

试图实施的代码

polebrea2 = document.getElementById("part1Table").rows[10].cells[2].innerHTML;
polebrea3 = document.getElementById("part1Table").rows[10].cells[3].innerHTML;
polebrea4 = document.getElementById("part1Table").rows[10].cells[4].innerHTML;
polebrea5 = document.getElementById("part1Table").rows[10].cells[5].innerHTML;

(续至15)

插入变量

<script>document.write(polebrea2)</script>

2 个答案:

答案 0 :(得分:0)

忽略设计教条....使用属性访问的字符串索引形式来设置变量:

// window is a bad place for this....you should probably put it on another object e.g. var polbreas = {}; 
for (var i = 2; i<15; i++){
    window["polbrea"+i] = document.getElementById("part1Table").rows[10].cells[i].innerHTML;
}

答案 1 :(得分:-2)

虽然做出你正在做的事情不一定是好习惯,你可以试试这个:

var createVariable = function( index ){
    var variableName = "polebrea" + index;
    var objName = document.getElementById("part1Table").rows[10].cells[index].innerHTML;
    return (variableName + " = " + objName + ";");
};

for (var j = 2; j<15; j++){
        var objToWrite = createVariable(j);
        console.log( objToWrite );
}