2017-04-26 26 views
0

這是我的代碼如何使用的if-else在Javascript

function test(number) { 
    if (number % 15 == 0) { 
     return "FizzBuzz"; 
    } 

    if (number % 3 == 0) { 
     return "Fizz"; 
    } 

    if (number % 5 == 0) { 
     return "Buzz"; 
    } 

    return number.toString(); 
} 

I型test(15)

結果打印"FizzBuzz"

爲什麼它不打印"FizzBuzz""Fizz""Buzz"

+1

- 它不會使它的其他條件。 –

+1

,因爲'return'因功能 – Deckerz

+0

而退出,這意味着:此時跳出功能並返回特定值 –

回答

2

每個功能只能使用return一次。返回後,它返回到你所說的函​​數。

1

return時,功能被終止並返回傳遞的值。任何在返回之後的代碼都不會被執行。

在你的情況下,函數輸入第一條語句(因爲number % 15 == 0語句返回true),看到一個返回,返回FizzBuzz,並跳出該函數。

0

因爲你離開與返回函數寫這個不是

function test(number) { 
     var res = ""; 
     if(number % 15 == 0){ 
      res += "FizzBuzz"; 
     } 
     if(number % 3 == 0){ 
      res += "Fizz"; 
     } 
     if(number % 5 ==0){ 
      res += "Buzz"; 
     } 
     return res; 
} 

它會從添加條件的結果。

0

@Yehuda正確解釋爲什麼它只顯示FizzBu​​zz:返回時停止執行函數。

這是獲得所有模數的(許多)解決方案之一:它定義了一個數組,它可以存儲模數。在代碼結束時,它返回數組。

function test(number) { 
 
    var res = []; 
 
    if(number % 15 == 0) { 
 
     res.push("FizzBuzz"); 
 
    } 
 
    if(number % 3 == 0) { 
 
     res.push("Fizz"); 
 
    } 
 
    if(number % 5 == 0) { 
 
     res.push("Buzz"); 
 
    } 
 
    console.log(res); 
 
    return res; 
 
} 
 
test(15);

0

如果你想返回雜色山雀:因爲它滿足一個條件,並返回

function test(number) { 
     res = ''; 
     if(number % 15 == 0){ 
      res += " FizzBuzz"; 
     } 
     if(number % 3 == 0){ 
      res += " Fizz"; 
     } 
     if(number % 5 ==0){ 
      res += " Buzz"; 
     } 
     return number + " - " + res.toString(); 
}