簡體   English   中英

為什么 if else 語句與 else if 語句的工作方式不同?

[英]Why does if else statement not work the same way as else 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;
    }

}

你的第一個例子有一個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
}

當計數為 0 時,第二個腳本不會傳遞任何條件,但第一個代碼將運行else塊。

在您的第一個代碼示例中, count < 0沒有被評估為 if 語句,計算結果然后拋出。 它大致相當於調用一個返回值但不使用該值的函數,兩者都只是要評估的表達式。 實際上只有兩個條件被考慮 - count > 0count <= 0

第二個代碼示例確實進行了此檢查,但只考慮了count > 0count < 0 請注意,當count為零時,不會評估 return 語句。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM