【发布时间】:2016-09-25 14:21:53
【问题描述】:
这里是代码:
var i = 0;
for (i = 1; i <= 20; i++) {
if (i % 5 === 0 && i % 3 === 0) {
console.log("FizzBuzz");
} else if (i % 5 === 0) {
console.log("Buzz");
} else if (i % 3 === 0) {
console.log("Fizz");
} else {
console.log(i);
}
}
这是输出:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
代码没问题,运行良好,但我不明白为什么当逻辑运算符 && 在 if 语句中而不是在 else if 中时,它只打印 FizzBuzz?
【问题讨论】:
-
因为一旦一个条件为真,它就不会落入下一个条件。如果需要,请使用多个 if
标签: javascript if-statement logical-operators fizzbuzz