2
respostas

else if?

segue o código do instrutor

<meta charset="UTF-8">
<script>
    function pulaLinha() {
        document.write("<br>");
    }

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    var contador = 30;

    while(contador <= 40) {

        if( contador == 33 ) {
        contador = contador + 1;
        }
        else if(contador == 37) {    
            contador = contador + 1;
        }
        else {
        mostra(contador);
        contador = contador + 1; 
        }
      }

    mostra("FIM");

</script>

else if? sendo usados um pós o outro sem ao menos definir uma instrução para else

2 respostas

Olá Thiago Quando você tiver apenas a palavra "Else" ela não necessita de condicional e deve ser a última condicional (quando estiver presente). Para o "Else if" sim, as duas palavras juntas necessitam de condicional conforme o seu exemplo. Está certinho.

Olá Thiago, tudo bem?! Vou te explicar essa estrutura de condição de uma forma que não fique confusa para você, então vamos nessa.

Vamos dizer que existe 3 formas de escrever uma condição no seu código. Usando apenas um "IF", usando um "IF" e em seguida com um "ELSE" ou da forma que está presente no código do instrutor que é usando um "IF", "ELSE IF" e em seguida "ELSE".

Traduzindo essa condição para o português, ficaria dessa forma:

se ( contador == 33 ) {
        contador = contador + 1;
} senão se (contador == 37) {    
        contador = contador + 1;
} senão {
        mostra(contador);
        contador = contador + 1; 
}

O que acontece quando esse código é executado, o computador verifica a condição no "IF" se for verdadeira ele entra e executa a lógica que está dentro do bloco da condição. Se for falsa, ele segue para o "ELSE IF" que ele vai verificar a nova condição que nesse caso é "(contator == 37)", caso for verdadeira ele entra e executa a lógica que está dentro do bloco da condição. E no caso do "ELSE" você não declara uma condição como no "IF" e "ELSE IF", ele é apenas executado caso nenhuma das condições acima dele sejam verdadeiras.

OBS¹: Você pode declarar quantos "ELSE IF" quiser em lógicas de condições mas sempre seguinte de um "IF".

// EXEMPLO
if ( contador == 33 ) {
        contador = contador + 1;
} else if (contador == 37) {    
        contador = contador + 1;
} else if (contador == 38) {    
        contador = contador + 1;
} else if (contador == 40) {    
        contador = contador + 1;
} else {
        mostra(contador);
        contador = contador + 1; 
}

OBS²: Você não pode pôr um "ELSE IF" após um "ELSE".

Bom, é isso. Espero ter lhe ajudado. Abraços.