对于循环重复,首先循环两次

时间:2010-06-25 21:48:15

标签: javascript loops

我有这个for循环,它似乎重复第一个循环两次(x = 0)然后没有做最后一个(x = 2)

for (x=0;x<=2;x++)
    {
        if (document.getElementById("sub"+catCount+x).value != "")
        {
            if (nonums.test(document.getElementById("sub"+catCount+x).value))
            {
                total = total + parseFloat(document.getElementById("sub"+catCount+x).value);
            }
        }
        alert(x);
    }

换句话说,我得到两个警告框,其中包含“0”,其中一个“1”,就是这样。

谁能告诉我在这里没有看到什么?为什么它只是正常循环(0,1,2)?

2 个答案:

答案 0 :(得分:2)

我认为您不希望变量x在范围内是全局的。尝试使用“var”关键字:

for (var x=0;x<=2;x++)
...

我可以将其粘贴到我的地址栏中,它会产生0,1,2。

javascript:for (var x=0;x<=2;x++) {alert(x);}

我在IE,FF和Chrome中尝试过它。

答案 1 :(得分:1)

  

这实际上是我使用的唯一地点   任何页面上的变量x。

It works for me

for (x=0;x<=2;x++)
{
  alert(x);
}

您可以在控制台进行测试。