我在剧本中制作了一个小游戏。这是一种算术游戏。我问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>
答案 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!");
}
答案 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!");
}
.....