Introdução a Objetos - 3. ... e o bom!


#1

for (var i = 1; i < 21; 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);
}
}

Esse é o meu código, minha dúvida é pq tenho que colocar em primeiro a condição para a saída ser fizzbuzz? Se coloco no final ele retorna erro.


#2

@boleto,
Always place the most specific as first option

program
flow
  |
  V                                                - - - -
for(var i=1;i<21;i++){ - - - - - i >= 21 - - - - - -> | EXIT |
|            |                                           - - - -
^            V
|         (i < 21)
^            V
|           if (i%3===0 && i%5 ===0 ){
|                console.log("FizzBuzz"); - - - > - - - -+ 
|           }                                            |
^           else if (i%5===0){                           V
|                console.log("Buzz"); - - - ->- - - - - -+
|           }                                            |
^           else if (i%3===0 ) {                         V
|                console.log("Fizz"); - - - -> - - - - - +
|           }                                            |
|           else {                                       V
|                console.log(i); - - - - - - - - -> - - -+
|           }                                            |
^ - - - - - -< - - - - - - < - - - < - - - - - < - - - - +
 }