Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Dúvida sobre o exercício e sobre o comando "break"

Gostaria de entender melhor o que seria o "break", ele é um comando de uma função, certo? Ele para a partir do momento que é inserido na instrução e não lê mais as demais instruções após ele, seria isso?

Porém, no meu caso, criei um alert, ao invés do break, dessa forma, o "alert" se torna um tipo de break na função? Esta pergunta é somente para ter certeza se entendi como funciona o break e se esta correto utilizar o "alert", ao invés do break.

Segue meu código:

<html>
  <head>
    <meta charset="UTF-8">
  </head>
  <body>

    <h1>Receitas do Yan</h1>

    <script>
    var ingredientes = [];

    var quantidade = parseInt(prompt("Quantos ingredientes você vai adicionar?"));

    var contador = 1;

    while( contador <= quantidade) {

        var ingrediente = prompt("Informe o ingrediente " + contador);
              adicionei = false;

        for( var posicao = 0; posicao < ingredientes.length; posicao++ ){
            if( ingredientes[posicao] == ingrediente ){
                alert("Ops! Você já adicionou este ingrediente!");
               adicionei = true;
            }
        }

        if (adicionei == false) {
            ingredientes.push(ingrediente);
            contador++;
        }


    }
    document.write(ingredientes);

    </script>

  </body>
</html>
3 respostas

Olá , veja se ajuda minha explicação :

com o uso do break:

var teste = 0;

while (teste <5) {

 if(teste==2) {

     document.writeln("Só imprime 0 e 1")

// ele nem chega no 3 , chega no 2 e já para break;

 }
 else {
     document.writeln(teste);
 }

 teste++;

}

com o uso do alert :

var teste = 0;

while (teste <5) {

 if(teste==2) {

    alert("Não imprime o numero 2 , imprime 0,1,3 e 4")

// ele pula o 2 e continua executando

 }
 else {
     document.writeln(teste);
 }

teste++; }

com o uso do continue :

var teste = 0;

while (teste <5) {

 if(teste==2) {

    continue;


 }
 else {
     document.writeln(teste);
 }

teste++; }

o continue sim e bem parecido com o alert, só não tem uma "pausa".

Olá Vagner, tudo bem?

O break então, como o inglês, para a função sem ir para o próximo. Já com o alert, e o "continue", ele ainda retorna na função ?

Por exemplo, eu tive uma dúvida sobre a questão do retorno do "while". E tive a seguinte resposta:

O que ocorre é que ele precisa chegar no valor fora do escopo antes de iterar novamente, para que na próxima interação ele seja recusado. Olhe o código abaixo:

var numero = 0;
while (numero <=3) {
    console.log(numero); 
    numero++;
}
//Primeira iteração: numero =  0 true
//Segunda iteração: numero =  1 true
//Terceira iteração: numero =  2 true
//Quarta iteração: numero =  3 true
//Quinta iteração: numero =  4 false, ele chega no verificador retorna false e não entra no corpo do laço

Ou seja, neste caso, ele ainda retorna na função while, mas quando retorna "false" ele não continua mais. O break, ele não continua a verificar a função, mas o alert(), retornaria na função? Seria isso?

E o continue, é apenas uma expressão para explicar o alert? Não entendi.

Obrigada =)

Mais ou menos , a diferença é que o alert pausa o programa enquanto você nao apertar o OK.