0

さて、Java スクリプトで for 条件を書こうとしていたとき、突然、最初に両方の変数を定義してから、入れ子になった 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")
        }
    }
};
4

3 に答える 3

2

配列にインデックスを付けるつもりだったと思います:

if (myVariable1 === xuv[i])

xuv[0]現在、ループの各反復をチェックしているだけです。したがって、xuv[0]が条件を満たし、ループが数回繰り返される場合、メッセージが数回表示されます。そうでなければ、あなたはそれを見ることはありません。

もしそれが無限ループだったら、あなたはそれを見て止まることはありません...

于 2013-10-14T18:39:07.863 に答える
0
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");
    }
};

あなたの問題は、あなたの入力がgo. あなたがしようとしていると思うのは、入力が配列にあるかどうかを確認することです。if-blockまた、ループの後に私が行うアラートを1つだけ印刷したい

于 2013-10-14T18:39:33.787 に答える