我和其他两个人正在努力制作一个危险游戏(以美国历史问题为主题),全部在JavaScript上。对于我们最后的Jeopardy屏幕,两个团队将分别下注一定数量的钱。为了防止团队随意输入下注字母(即输入"hasdfhgasf“而不是实际金额),我们尝试编写一个”onEvent“命令来检查下注是否为空。如果下注为空,则代码应该在屏幕上显示一条消息,告诉他们再次检查下注。
我们尝试使用,if "null"
或if " "
这样的语句,但这两个语句都不起作用。我们已经使用了getNumber
和getText
命令,以及与or
布尔值的常规变量比较。到目前为止,我们还没有用到这些方法。
下面是我们遇到问题的一组代码:
onEvent("finalJeopardyBetSubmit", "click", function() {
team1Bet = getNumber("team1BetInput");
team2Bet = getNumber("team2BetInput");
console.log(team1Bet);
console.log(team2Bet);
if (getText("team1BetInput") == "" || getText("team2BetInput") == "") {
console.log("Check bet!");
finalJeopardyError();
} else if ((getText("team1BetInput") != 0 || getText("team2BetInput") != 0)) {
console.log("Check bet!");
finalJeopardyError();
} else if ((getNumber("team1BetInput") < 0 || getNumber("team2BetInput") < 0)) {
console.log("Check bet!");
finalJeopardyError();
} else if ((getNumber("team1BetInput") > team1Money || getNumber("team2BetInput") > team2Money)) {
console.log("Check bet!");
finalJeopardyError();
} else {
console.log("Done");
}
});
如果你想看得更清楚,你也可以在Code.org上查看the whole program。
我们期望对于console.log命令,如果下注返回为空,它应该显示"check bet“。取而代之的是,即使我们什么都不输入或者只是随机输入字母,代码最终也是完好无损的,并且不显示错误消息。
发布于 2019-06-05 08:48:45
null变量的计算结果为false。尝试:
if(variable){
// variable not null
}else{
// variable null
}
https://stackoverflow.com/questions/56452954
复制相似问题