我正在尝试将纸牌计数游戏放在一起。编写这段代码有多种方法,但是让我想到的是,代码示例与它们之间的区别是什么?第一段代码可以正常工作,但是第二段代码给我未定义的代码。
if (count > 0) {
var betHigher = "Bet Higher";
return betHigher;
} else {
count < 0;
var holdbet = " hold ";
return holdbet + "" + count;
}
这使我不确定。为什么会这样?
if (count > 0) {
var betHigher = "Bet higher";
return betHigher;
} else if (count < 0) {
var holdbet = " hold";
return holdbet;
}
}
答案 0 :(得分:1)
您的第一个示例的else
表示“随时计数不大于0”
您的第二个示例没有,所以如果count == 0
将失败,这就是为什么您会得到错误/未定义的原因。
else
会处理
if (count > 0) {
var betHigher = "Bet higher";
return betHigher;
} else if (count < 0) {
var holdbet = " hold";
return holdbet;
} else {
// count is equal to 0 here
}
答案 1 :(得分:0)
当计数为0时,第二个脚本将不通过任何条件,但是第一个代码将运行else
块。
答案 2 :(得分:0)
在您的第一个代码示例中,count < 0
未被评估为if语句,结果被计算然后被丢弃。这与调用返回值但不使用值的函数大致相当,两者都只是要评估的表达式。实际上仅考虑了两个条件-count > 0
和count <= 0
。
第二个代码示例确实进行了此检查,但是只考虑了count > 0
和count < 0
。请注意,当count
为零时,不会评估return语句。