首页 > 解决方案 > FizzBu​​zz:num%15 是第一名,而 num%3 是第一名

问题描述

我只想知道为什么 'FizzBu​​zz 只在 num % 15 === 0 是第一个而不是 num % 3 === 0 是第一个时才有效。

例如:

for (let num = 1; num <= 100; num++) {
if (num % 15 === 0) {
    console.log('FizzBuzz');
} else if (num % 5 === 0) {
    console.log('Buzz')
} else if (num % 3 === 0) {
    console.log('Fizz');
} else {
    console.log(num);
} 

}

对比

for (let num = 1; num <= 100; num++) {
if (num % 3 === 0) {
    console.log('Fizz');
} else if (num % 5 === 0) {
    console.log('Buzz')
} else if (num % 15 === 0) {
    console.log('FizzBuzz');
} else {
    console.log(num);
}

}

标签: javascriptfizzbuzz

解决方案


else if基本上意味着“如果先前的条件没有通过 THEN IF ...”。所以,在你的第二个片段中,如果num % 3 === 0是真的,它永远不会检查 ifnum % 5 === 0num % 15 === 0


推荐阅读