javascript FizzBuzz/if-else语句
以下是代码:javascript FizzBuzz/if-else语句,javascript,if-statement,logical-operators,fizzbuzz,Javascript,If Statement,Logical Operators,Fizzbuzz,以下是代码: 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");
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
?中,只要if(…)
/else if(…)
中的一个条件为true(自上而下),它就只打印FizzBuzz
,其余条件不进行计算,程序进入下一个循环(nexti
)值
如果您交换订单:
var i = 0;
for (i = 1; i <= 20; i++) {
if (i % 5 === 0) {
// This evaluates to true for a number that is multiple of 5 and 3, and it prints "Buzz", and goes into the next loop.
console.log("Buzz");
} else if (i % 5 === 0 && i % 3 === 0) {
console.log("FizzBuzz");
} else if (i % 3 === 0) {
console.log("Fizz");
} else {
console.log(i);
}
}
var i=0;
对于(i=1;i这是使用else的正确方法,如果语句:
for(i = 1; i <= 100; i++){
if (i % 3 === 0 && i % 5 === 0) {
console.log('FizzBuzz');
} else if(i % 3 == 0){
console.log('Fizz');
} else if (i % 5 == 0){
console.log('Buzz');
} else {
console.log(i);
}
}
for(i = 1; i <= 100; i++){
switch (true) {
case (i % 3 === 0 && i % 5 === 0) :
console.log('FizzBuzz');
break;
case (i % 3 == 0) :
console.log('Fizz');
break;
case (i % 5 == 0) :
console.log('Buzz');
break;
default:
console.log(i);
break;
}
}
for(i=1;i),因为一旦一个条件为真,它就不会进入下一个条件。如果需要,请使用多个if
for(i = 1; i <= 100; i++){
switch (true) {
case (i % 3 === 0 && i % 5 === 0) :
console.log('FizzBuzz');
break;
case (i % 3 == 0) :
console.log('Fizz');
break;
case (i % 5 == 0) :
console.log('Buzz');
break;
default:
console.log(i);
break;
}
}