Ajuda na logica de JS

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!

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.

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

1 curtida