2017-04-04 215 views
-2

我試圖編寫檢查if語句中兩個條件但沒有運氣的代碼。if if語句中的兩個條件

for(var num = 1; num<=100;num +=1) 
{if (num % 3==0) and (num % 5==0) console.log("fizzbuzz"); 
    else if (num % 3==0) console.log("fizz"); 
    else if(num % 5==0) console.log("buzz"); 
    else console.log(num);} 
+2

縮進和正確的格式化將會很長。 – Ibu

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators – Bergi

回答

1

使用&&而不是

for (var num = 1; num <= 50; num += 1) { 
 
    if (num % 3 == 0 && num % 5 == 0) console.log("fizzbuzz"); 
 
    else if (num % 3 == 0) console.log("fizz"); 
 
    else if (num % 5 == 0) console.log("buzz"); 
 
    else console.log(num); 
 
}

2

首先,更改and&&
此外,您if語句沒有括號這樣的:

for(var num = 1; num<=100;num +=1){ 
    if ((num % 3==0) && (num % 5==0)) console.log("fizzbuzz"); 
    else if (num % 3==0) console.log("fizz"); 
    else if(num % 5==0) console.log("buzz"); 
    else console.log(num); 
} 

那麼它應該工作就像一個魅力!
您還需要修改縮進。

1
  1. 縮進。如果你使用IDE(如webstorm),應該有一個選項來自動格式化代碼。 FYI:壓縮在一段時間內對理解你自己的代碼有很大的作用(例如,在你編寫它之後:))
  2. 我不會稱之爲js因爲有邏輯AND運算符:&&而不是and。乍看之下,甚至可以被視爲僞代碼的一部分,壞的僞
  3. if語句結構像if (condition) operator,所以當你要檢查多個條件,你應該用括號包起來:if (condition1 && condition2 && ... && conditionN)。所有的條件最終都等同於評估後檢查的單一條件。
  4. 當然,if聲明允許您使用而不是來包裝具有捲曲編號的運營商:if (condition) some operator;。但是如果你寫if (condition) {operator},它更具可讀性和可理解性。例如,當你改變你的代碼並想添加更多的操作符時,它會從一些令人困惑的錯誤中得到更多的保護。比方說,你想寫水木清華這樣的:

if(everythingIsOk)informUser;

比方說,你想,如果一切正常的添加消息。你可以這樣寫:

if (everythingIsOk) 
    informUser; 
    writeMessage; 

在上面的例子中,你讓程序寫信息,因爲它是一個單獨的指令。如果您最初編寫if (everythingIsOk){informUser},只需添加一個必須在此特定情況下執行的指令就會更容易。更重要的是,它更具可讀性。

你可能會感到驚訝,但以下是有效的太:

if (everythingIsOk); 

以下是更具可讀性,因爲至少這會讓別人覺得你沒有忘記你的建築在中間的某個地方:

if (everythingIsOk){} 

最後,如果你想強調,沒有什麼應該在某些情況下完成的,這是方法(僅供參考):

if (everythingIsOk){/* Do nothing, no code here is not a mistake! */} 

所以,如果你寫你這樣的代碼將更具可讀性:

for (var num = 1; num <= 100; num += 1) { 
    if ((num % 3 == 0) && (num % 5 == 0)) { 
     console.log("fizzbuzz"); 
    } else if (num % 3 == 0) { 
     console.log("fizz"); 
    } else if (num % 5 == 0) { 
     console.log("buzz"); 
    } else { 
     console.log(num); 
    } 
} 
  • 我建議你在你學習更準確地至少例子讀取。