为什么if else语句不能与if语句一样工作?

时间:2019-12-10 16:57:20

标签: javascript if-statement

我正在尝试将纸牌计数游戏放在一起。编写这段代码有多种方法,但是让我想到的是,代码示例与它们之间的区别是什么?第一段代码可以正常工作,但是第二段代码给我未定义的代码。

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

}

3 个答案:

答案 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 > 0count <= 0

第二个代码示例确实进行了此检查,但是只考虑了count > 0count < 0。请注意,当count为零时,不会评估return语句。