如何在Javascript中使用if-else

时间:2017-04-26 14:28:18

标签: 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();
}

我输入test(15)

结果打印"FizzBuzz"

为什么不打印"FizzBuzz" "Fizz""Buzz"

5 个答案:

答案 0 :(得分:2)

每个功能只能return一次。返回后,如果您调用该函数,它将返回到该行。

答案 1 :(得分:1)

当您return时,函数终止并返回传递的值。返回后的任何代码都不会被执行。

在你的情况下,函数输入第一个语句(因为number % 15 == 0语句返回true),看到一个返回,返回FizzBuzz,并突破函数。

答案 2 :(得分:0)

因为您将函数保留为return而不是

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;
}

它将添加条件的结果。

答案 3 :(得分: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);

答案 4 :(得分:0)

如果你想返回varius:

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();
}