Javascript jQuery循环-要在循环内使用的循环计数

Javascript jQuery循环-要在循环内使用的循环计数,javascript,jquery,html,loops,variables,Javascript,Jquery,Html,Loops,Variables,我有一组变量: var var1 = 0; var var2 = 0; var var3 = 0; var var4 = 0; var var5 = 0; 我想用for循环检查它们,但我不太确定语法: for( var i = 1; i<6; i++){ alert(var[i]); } for循环不会产生任何结果。如果要在全局范围内定义变量,可以使用window['var'+i]访问这些值: 将它们放在一个数组中 var vars = [0, 0, 0, 0, 0, 0];

我有一组变量:

var var1 = 0;
var var2 = 0;
var var3 = 0;
var var4 = 0;
var var5 = 0;
我想用for循环检查它们,但我不太确定语法:

for( var i = 1; i<6; i++){
     alert(var[i]);
}

for循环不会产生任何结果。

如果要在全局范围内定义变量,可以使用window['var'+i]访问这些值:


将它们放在一个数组中

var vars = [0, 0, 0, 0, 0, 0];
for(var i = 0; i < vars.length; i++) {
alert(vars[i]);
}

要访问它们,您必须使用写入它们的作用域。如果您的代码在窗口范围内,则会变成:

for( var i = 1; i<6; i++){
     alert(window['var'+i]);
}
当然,如果它在一个不同的范围内,无论你在做什么,它都要干净得多。在这些情况下,通常

for( var i = 1; i<6; i++){
     alert(this['var'+i]);
}

会起作用。

您使用的数据结构不适用于此。对于您想要做的事情,使用数组或对象更为可行,并且易于扩展

var arr = [0,0,0,0,0,0];

for (var i = 0; i < arr.length; i++) {
    alert(arr[i]);
}

如果var是一个数组,则使用var[i]。但你的情况不是这样。最好的方法是将这些值放入数组中,如

var myvar = [0,0,0,0,0];
然后使用for循环检查值

for( var i = 1;i<6; i++){
alert(myvar[i-1]);
}

为什么不使用数组并在循环中执行数组[i]呢?没有好的方法可以做到这一点。你可以使用window['var1']等,但这太不靠谱了。改为使用数组或对象。可能的重复项为什么会被否决?对于一个不熟悉JavaScript的程序员来说,这是正确的方法和最好的建议。@Axel这是一种什么样的黑客行为?你在这里真的不对-OP想要做的是真正的黑客。@Mritunjay:我想用for循环检查它们,但我不太清楚语法:问题是关于访问已给定数据的正确语法。@user2908232正确答案是您解决更大问题的方法基本上是正确的wrong@Pointy:除了不能盲目更改其他代码的部分。这就是为什么你必须至少在一定程度上相信这个问题,而评论是为了要求澄清。他是说数据已经被这样定义了吗?这是一个黑客行为,而不是一个答案:这改变了问题。数据结构是问题的一部分。@user2908232 Stackoverflow旨在为人们提供指导。帮助某人实现一个坏主意并不是真正的帮助。@user2908232是的,它是。。。有一个很好的理由。。。在如何组织数据方面为某人指明正确的方向通常比盲目地用错误的代码回答问题要好得多。这不是黑客行为。将变量列表更改为数组是最佳做法。我已经选择了第一个阵列解决方案作为正确的解决方案,但由于这是完全相同的,这也是正确的@大卫·巴克,谢谢你的帮助。
for( var i = 1;i<6; i++){
alert(myvar[i-1]);
}