Ajuda na logica de JS

2 respostas Resolvido
L

Olá galera,

Estou dando uma relembrada em JS e estava fazendo algumas coisinhas com laços. Bem, tenho dois laços, um for e um while. Criei uma var chamada condicao e dei o valor inicial igual a true. Coloquei dentro de um laço for que muda o valor da var para false até chegar em i < 5 e logo abaixo um laço while que executa um alert em quanto a var condicao for igual a false.

A ideia era que quando o laço for executasse a condicao=false o while executasse o alert 4 vezes já que a condição em for é i < 5, mas esta entrando em loop infinito sempre. Já tentei colocar o while dentro do for, e o for dentro do while.

Segue o código:

var nome = "nome qualquer";
var condicao = true;

for (i=0; i<5; i++) {
    condicao= false;
}

while(condicao===false){
    alert(nome);
}

Galera, obrigado pela paciência e VLW!

2 Respostas

Lucas_Camara

Qual a condição para que a variável condicao receba false? Acho que é isso que está faltando na lógica do seu código.

igor_ks
Solucao aceita

Seu algoritimo está fazendo o seguinte:

condicao recebe verdadeiro

(5x)
condicao recebe falso
condicao recebe falso
condicao recebe falso
condicao recebe falso
condicao recebe falso

enquanto condicao for falso, alert

Por isso do loop infinito… em nenhum momento (dentro do while) ele recebeu true, pra sair da condicao

Criado 27 de janeiro de 2016
Ultima resposta 27 de jan. de 2016
Respostas 2
Participantes 3