1
resposta

Coração bate forte

Depois de descobrir a manha da variável +1 -1 ficou fácil rss, mas ainda não descobri a diferença do "else if" do "if", pelo que entendi não faz diferença?

<canvas width="600" height="400"></canvas>

<script>

    var tela = document.querySelector('canvas');
    var pincel = tela.getContext('2d');
    pincel.fillStyle = 'white';
    pincel.fillRect(0, 0, 600, 400);

    function desenhaCirculo(x, y, raio, cor) {

        pincel.fillStyle = cor;
        pincel.beginPath();
        pincel.arc(x, y, raio, 0, 2 * Math.PI);
        pincel.fill();
    }

    function limpaTela() {

        pincel.clearRect(0, 0, 600, 400);
    }


var raio = 20
var sentido = 1

        function pulso (){
            limpaTela ()

            if (raio > 30){
                sentido = -1;
            }

            if (raio < 20) {
                sentido = 1;
            }


            desenhaCirculo (300, 190, raio, "red")
            desenhaCirculo (310, 210, raio, "red")
            desenhaCirculo (320, 190, raio, "red")
            raio = raio + sentido;
        }

setInterval (pulso, 20)

</script>
1 resposta

o "else if" é uma instrução if condicional e aninhada. Exemplo em Java:

public class Main {
    public static void main(String[] args) {
        String color = "green";
        if (color == "red")
            System.out.println("It's red!");
        else if (color == "green")
            System.out.println("It's green!");
        else
            System.out.println("It's not red or green!");

    }
}

Primeiro, o programa verifica no primeiro if se a cor é "red". Como a cor não é "red", o código na instrução else if é executado, verificando que color é "green".

O else if só é analisado se a primeira condição if não for satisfeita. Nesse sentido, else if é como uma declaração condicional aninhada. Como a condição if não é atendida, o else if é executado. No entanto, as coisas no else if são executadas apenas se a condição do else if for atendida. Para reiterar, else if só é olhado (antes de ser executado) se a condição if inicial for falsa.