2016-11-18 29 views
0

我想檢查firstday等於五,六,在這兩種情況下,如果totalDays等於31,然後做一些事情,爲此哪種說法是正確的?如何使用||和&&一起在一個if語句

代碼1:

if (firstday > 5 || firstday > 6 && totalDays == 31){} 

代碼2:

if (firstday > 5 && totalDays == 31 || firstday > 6 && totalDays == 31) { } 
+0

我認爲你不需要'|| firstday> 6'在第一次聲明中 – Mahi

+0

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Operator_Precedence – Mahi

+0

嘗試迭代英語的條件和使用'()'到組的條件。在你的陳述*第一天必須等於5或6,但在這兩種情況下,totalDays必須是31 *。所以解決第一部分:'第一天=== 5 ||第一天=== 6'。你的第二個條件是'totalDays === 31''。但是,這兩種情況下發生的,所以這成爲'(firstday === 5 || firstday === 6)&& totalDays === 31' – Rajesh

回答

2

這是正確的答案:

if ((firstday == 5 || firstday == 6) && totalDays == 31){ 
    //Do something 
} 
+0

只是一個指針,你應該使用'==='而不是'==' – Rajesh

0

兩者都是錯誤 你需要使用==操作它。

if ((firstday == 5 || firstday == 6) && totalDays == 31){} 
+2

您需要周圍的括號||運營商 – mseifert

+0

雅。我剛剛編輯它。謝謝。 –

0
if ((firstday == 5 || firstday == 6) && totalDays == 31){} 

在這裏,首先執行內最括號內(firstday == 5 || firstday == 6)表達。基於剩餘表達式計算的值,如果上述表達式返回false剩餘表達不會由於false&&(true||false)反正假評價。

+0

你會打擾一下解釋你的代碼嗎?只是將它傾倒在答案中是沒有用的。 –

0

第一個條件: 它返回,如果firstday是5 OR 6 .. TotalDays爲31

if ((firstday == 5 || firstday == 6) && totalDays == 31){ } 
0

無論你的邏輯工作,但你在你的問題中提到的是「如果第一天是等於五或6」,所以我會建議你使用「==」,而不是「>」。後者將接受5以上的任何值,這與你想要的不符。

下列兩行之一將實現你想要的結果。

if (firstday == 5 || firstday == 6 && totaldays == 31) {} 

OR

if (firstday == 5 && totalDays == 31 || firstday == 6 && totalDays == 31) { } 
相關問題