1

スクリプトで小さなゲームを作成しました。それは一種の算数ゲームです。私は 2+2-3=? と尋ねました。ユーザーは答えを出さなければなりません。答えが正しい場合は、警告が表示され、答えが間違っている場合は、実際の答えよりも高いまたは低いことを示します。しかし、誰かがこの質問に答えていない場合に別のアラートを追加し、プロンプトを空のままにしてEnterキーを押すと、別のアラートが表示されます。私の質問は; 値を空にしてアラートを設定するにはどうすればよいですか。これが私が試したもので、うまくいきませんでした。以下のコードを参照してください。

<script type="text/javascript">
    var number = prompt("count these numbers: 2+5-10+8=?");
    if (number == 5) {
        alert("Congratulations Your Answer is Correct");
    } else if (number > 5) {
        alert("Your answer is a little higher.");
    } else if (number < 5) {
        alert("Your answer is little lower than actual answer.");
    } else if (number == "null") {
        alert("You are looser!");
    }
</script>
4

7 に答える 7

2

Numberに頼って==値を強制するのではなく、実際に型であるように数値を解析します。次に、関数でチェックするNaNisNaN、さらに良いことに、if完全にオフにして、それを次のようにすることができelseます。

var number = parseInt(prompt("count these numbers: 2+5-10+8=?"), 10);
if (number === 5) {
    alert("Congratulations! Your answer is correct.");
} else if (number > 5) {
    alert("Your answer is a little higher.");
} else if (number < 5) {
    alert("Your answer is little lower than actual answer.");
} else {
    alert("You are a loser!");
}​

http://jsfiddle.net/KebNN/

于 2012-05-29T20:18:26.723 に答える
1

それを空の文字列と比較するだけです:

if (number == '') {
    // ...

また、「キャンセル」クリックで同じメッセージを警告したい場合は、数値が false と評価されるかどうかを確認するだけです。

if (!number) {
    // ...
于 2012-05-29T20:14:50.260 に答える
0

使用 (回答 == null || 回答 == 未定義 || 回答 == '')

于 2012-05-29T20:14:40.937 に答える
0

試す:

} else if (number == "" || isNaN(number)) {
    alert("You are looser!");
}
于 2012-05-29T20:15:01.557 に答える
0

質問の意味がよくわかりませんが、これはあなたが探しているものですか?

alert("");
于 2012-05-29T20:15:06.740 に答える
0

ユーザーがプロンプトでキャンセルを押すと、値は になりますnull。と比較することで===、答えが 0 ではない (0 == null真である) ことを確認します。

<script type="text/javascript">
    var number = prompt("count these numbers: 2+5-10+8=?");
    if (number === null) {
        alert("You are loser!");            
    } else if (number == 5) {
        alert("Congratulations Your Answer is Correct");
    } else if (number > 5) {
        alert("Your answer is a little higher.");
    } else if (number < 5) {
        alert("Your answer is little lower than actual answer.");
    }
</script>​
于 2012-05-29T20:16:05.397 に答える
-1

null を除くすべての可能な結果を​​説明しました。最初の if ステートメントの最後に、else をすべてキャッチとして追加できます。つまり、ユーザーが空白のままにするか、無効な文字を入力した場合。

if( number == 5 ) {
   alert( "Congratulations Your Answer is Correct" );
} else if ( number > 5  ) {
   alert( "Your answer is a little higher." );
} else if ( number < 5 ) {
   alert( "Your answer is little lower than actual answer." );
} else {
   alert("You are looser!");
}

.....

于 2012-05-29T20:19:32.667 に答える