Javascript 无限循环

Javascript 无限循环,javascript,Javascript,我正试图在java脚本中编写一个for条件,突然之间,我开始得到消息3到4次,而不是仅仅一次。我首先定义了两个变量,然后编写了一个for代码,在其中嵌套了if-else语句,然后关闭了所有这些语句,但碰巧创建了一个无限循环尝试了以下操作:- function setValue(){ myVariable1= document.forms["myform"]["ram"].value; var xuv = ["go", "no", "yes"]; for (i=0;i&l

我正试图在java脚本中编写一个for条件,突然之间,我开始得到消息3到4次,而不是仅仅一次。我首先定义了两个变量,然后编写了一个for代码,在其中嵌套了if-else语句,然后关闭了所有这些语句,但碰巧创建了一个无限循环尝试了以下操作:-

function setValue(){
    myVariable1= document.forms["myform"]["ram"].value;
    var xuv = ["go", "no", "yes"];

    for (i=0;i<xuv.length;i++)
    {
        if (myVariable1 === xuv[0])
        {       
            alert("yes this game can run")
        }
        else 
        {       
            alert("No, This game cannot run")
        }
    }
};
函数setValue(){
myVariable1=document.forms[“myform”][“ram”].value;
var xuv=[“开始”、“否”、“是”];

对于(i=0;i我想您是想为数组编制索引:

if (myVariable1 === xuv[i])
当前,您只是在循环的每次迭代中检查
xuv[0]
。因此,如果
xuv[0]
满足您的条件,并且循环迭代几次,您将看到您的消息几次。如果没有,您将永远看不到它

如果它是一个无限循环,那么您永远不会停止看到它…

函数setValue(){
function setValue(){
    myVariable1= document.forms["myform"]["ram"].value;
    var xuv = ["go", "no", "yes"];
    var canRun = false; //i asume the programm can't run

    for (i=0;i<xuv.length;i++)
    {
        if (myVariable1 === xuv[i]) //changed from 0 to i here
        {   
            //but when my input is in the array it can run
            canRun = true;  
        }
    }

    if (canRun)
    {   
        alert("yes this game can run");
    }
    else 
    {       
        alert("No, This game cannot run");
    }
};
myVariable1=document.forms[“myform”][“ram”].value; var xuv=[“开始”、“否”、“是”]; var canRun=false;//我知道程序无法运行
对于(i=0;i,因为您在一个循环中比较相同的索引,所以条件始终为真且其警报,即使条件失败,它也将警报3次,直到您中断循环或达到停止条件:

function setValue(){
    var myVariable1= document.forms["myform"]["ram"].value;//add var otherwise it would expect it as global
    var xuv = ["go", "no", "yes"];

    for (var i=0;i<xuv.length;i++)
    {
        if (myVariable1 === xuv[i]) //changed from 0 to i here
        {       
            alert("yes this game can run");
            return;
        }
        else 
        {       
            alert("No, This game cannot run");
            return;
        }
    }
};
函数setValue(){
var myVariable1=document.forms[“myform”][“ram”].value;//添加var,否则它会认为它是全局的
var xuv=[“开始”、“否”、“是”];

对于(var i=0;i您在哪里调用了
setValue
?除了缺少一些(
myVariable1
i
)之外,它看起来不错。这不可能是一个无限循环(除非您重写了
警报
以更改全局
i
)。获取消息3次或4次是正常的,因为您正在
alert
ing一条消息或另一条消息3次。请检查您的btn事件处理程序。您可能会多次订阅事件。此外,您的循环将始终运行3次,每次setValue调用3次警报。将中断置于成功状态。您正在执行一次
alert()
调用xuv数组中的每一项。顺便说一句,如果你没有访问
i
任何地方,为什么要使用循环?这将在1次迭代后返回,只会出现一个警报作为OP WANTSWANTsThank you@Philipp Sander非常感谢你修复了我的代码非常感谢,如果这个应用程序给出了一个好的结果,我一定会在其中提到你谢谢非常感谢你们,也感谢你们在这个艰难的处境中帮助过我的人