[英]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 > 0
和count <= 0
。
第二個代碼示例確實進行了此檢查,但只考慮了count > 0
和count < 0
。 請注意,當count
為零時,不會評估 return 語句。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.