2017-04-26 57 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(); 
}