Ci

Cicli while in JavaScript

8 esercizi

Informazioni su Cicli while

Sintassi generale

Con un ciclo while, puoi eseguire del codice ripetutamente finché una certa condizione è soddisfatta.

Si scrive con la parola chiave while seguita da una condizione racchiusa tra parentesi tonde e da un blocco di codice che contiene il corpo del ciclo racchiuso tra parentesi graffe.

while (condition) {
  // code that is executed repeatedly as long as the condition is
  // true
}

JavaScript ha anche il ciclo do-while. Qui la condizione viene controllata dopo che il corpo del ciclo è stato eseguito. Questo è utile quando la condizione dipende da valutazioni fatte nel corpo.

do {
  // The code here will always be executed once and then
  // repeatedly while the condition is true.
} while (condition);

Break

All'interno del corpo di un ciclo, puoi usare la parola chiave break per interrompere del tutto l'esecuzione del ciclo. Spesso la si usa in combinazione con true come condizione. Così puoi controllare da qualsiasi punto del corpo del ciclo quando il ciclo deve fermarsi.

const winningNumber = 7;

while (true) {
  const num = readUserGuess();
  if (num === winningNumber) {
    break;
  }
}

La parola chiave break non può essere usata all'interno di una funzione annidata nel ciclo; per un esempio, vedi la documentazione MDN.

Continue

A differenza di break, la parola chiave continue interrompe solo l'esecuzione dell'iterazione corrente e passa a quella successiva. Con continue spesso puoi evitare di racchiudere grandi parti del corpo del ciclo in un'istruzione if.

let i = 0;

while (i < 100) {
  i = i + 2;

  if (i % 3 === 0) {
    continue;
  }

  // The code here will only be executed when i was not divisible
  // by 3 in the check above.
}

Cicli infiniti

Un ciclo che si ripete (teoricamente) per sempre si crea quando la condizione del ciclo è sempre soddisfatta e nel corpo del ciclo non si raggiunge nessuna istruzione break o return. L'esecuzione deve essere terminata dall'esterno. A seconda dell'ambiente in cui viene eseguito questo codice, la terminazione avverrà automaticamente oppure richiederà un intervento manuale.

let i = 0;

while (i < 100) {
  if (i % 3 === 0) {
    continue;
  }

  i = i + 2;
}

// This loop runs forever since the variable i does not change
// anymore after it is divisible by 3 the first time.

Individuare i cicli infiniti può sembrare banale in questo esempio giocattolo, ma non è sempre così facile con codice più complesso. È buona norma riflettere bene se la condizione a un certo punto diventa falsa o se l'istruzione break o return viene raggiunta.

Modifica tramite GitHub Il collegamento si apre in una nuova finestra o scheda

Impara Cicli while