Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Sem break e executa normal, está certo?

<meta charset="UTF-8">

<input type="text" id="inserirDado" />
<input type="submit" id="verificar" value="Compare com o meu segredo!" />
</br>
</br>

<script>

var titulo = function(frase) {
document.write("<strong>" + frase + "</strong>" + "<br>" + "<br>");
};

titulo("Sem break!");

var caixaDeDados = document.getElementById("inserirDado");

var segredos = [2,4,6,8,10,12,14];


var botaoClicado = function(){


var achou = false;
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(segredos[posicao] == caixaDeDados.value) {
achou = true;
}
}
if(achou == true){
alert("Parabéns, você acertou!");
} else {
alert("Você errou, tente outra vez!");
}
}

var botaoAdvinhar = document.getElementById("verificar");
botaoAdvinhar.onclick = botaoClicado;

</script>

Bem pessoal, a função acima está sem break, e está funcionando da mesma forma como a função com break, como pode ser isso?

Função com break:

<meta charset="UTF-8">

<input type="text" id="inserirDado" />
<input type="submit" id="verificar" value="Compare com o meu segredo!" />
</br>
</br>

<script>

var titulo = function(frase) {
document.write("<strong>" + frase + "</strong>" + "<br>" + "<br>");
};

titulo("Declarando um Array, Passeando pelo Array!");

var caixaDeDados = document.getElementById("inserirDado");

var segredos = [2,4,6,8,10,12,14];


var botaoClicado = function(){


var achou = false;
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(segredos[posicao] == caixaDeDados.value) {
achou = true;
break;
}
}
if(achou == true){
alert("Parabéns, você acertou!");
} else {
alert("Você errou, tente outra vez!");
}
}

var botaoAdvinhar = document.getElementById("verificar");
botaoAdvinhar.onclick = botaoClicado;

</script>
3 respostas

A única diferença do seu código com o comando break é que ele para de procurar depois já ter encontrado, enquanto outro continua a execução do loop. Mas a lógico continua sendo a mesma.

solução!

em termos lógico, caso não tenha o 'break', no código então a condição segue normal, caso encontre algum número que esteja dentro do array ele informe que o nº foi encontra e continua executando ,agora com o 'break' isso não seria possível , logo a loop quebraria , no segundo exemplo temos um coisa muito interessante onde , temos o programa de adicionar números no bingo, com o termo ' push ', la temos um return , isso porque si tivéssemos um ' break ' a condição do loop seria quebrado, porem o numero ainda sim seria adicionar no array, com return não seria possível de ser adicionado.

Já responderam sua pergunta, mas imagine um array gigantesco, onde temos a chance de encontrar o dado tanto na posição 0 quanto na última. Imagine que o computador demoraria 10 segundos para varrer esse array no pior caso. O break sempre será útil, pois nem que seja 1 segundo, estaremos economizando.