如何设置空警报

时间:2012-05-29 20:11:34

标签: javascript

我在剧本中制作了一个小游戏。这是一种算术游戏。我问2 + 2-3 =?并且用户必须给出答案。如果答案是正确的,那么警报将显示祝贺,如果答案是错误的,那么你高于或低于实际答案。但是现在我想添加另一个警报,如果有人没有回答这个问题并将提示留空并按回车键,则会显示另一个警告,就像你更宽松一样。我的问题是;如何将值设置为空并发出警报。这是我尝试过的,但没有用。请参阅以下代码:

<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>

7 个答案:

答案 0 :(得分:2)

我会解析数字,因此它实际上是Number类型,而不是依靠==强制为您提供值。然后,您可以使用NaN功能检查isNaN,或者更好的是,完全取消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/

答案 1 :(得分:1)

只需将其与空字符串进行比较:

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

此外,如果您想在“取消”点击时提醒相同的消息,您只需检查数字是否评估为假:

if (!number) {
    // ...

答案 2 :(得分:0)

使用(answer == null || answer == undefined || answer =='')

答案 3 :(得分:0)

尝试:

} else if (number == "" || isNaN(number)) {
    alert("You are looser!");
}

答案 4 :(得分:0)

我不确定我理解这个问题,但这就是你要找的东西吗?

alert("");

答案 5 :(得分: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>​

答案 6 :(得分:-1)

你已经考虑了所有可能的结果,除了null之外,你可以在第一个if语句的末尾添加一个else作为一个catch all .. I.E.如果用户将其留空或输入无效字符。

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!");
}

.....