FizzBu​​zz:num%15 是第一个,而 num%3 个是第一个

FizzBuzz: num%15 being first versus num%3 being first

我只想知道为什么 '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);
}

}

else if 基本上意味着“如果前面的条件没有通过则如果...”。因此,在您的第二个代码段中,如果 num % 3 === 0 为真,它将永远不会检查 num % 5 === 0num % 15 === 0.