1

我用脚本做了一个小游戏。那是一种算术游戏。我问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>
4

7 回答 7

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/

于 2012-05-29T20:18:26.723 回答
1

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

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

此外,如果您想在“取消”点击时提醒相同的消息,您可以简单地检查 number 是否计算为 false:

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

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

于 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 作为全部内容。如果用户将其留空或输入无效字符,则 IE。

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