Abbiamo già incontrato il comando break parlando delle istruzioni condizionali, in particolare lo switch
. In questa lezione vediamo come comandi break e continue possano essere utilizzati con i cicli for
e while
.
Cicli infiniti
Generare un ciclo infinito servendosi del while
è estremamente semplice. È sufficiente inserire come condizione una espressione che sia sempre verificata:
while(true) {
// istruzioni
}
Sono rari i casi in cui si richiede l'uso di un loop infinito e naturalmente bisogna fare molta attenzione ad utilizzarlo perché, come si intuisce facilmente, può causare blocco dell'istanza in esecuzione.
Per questo bisogna sempre considerare l'ipotesi di avere una condizione di uscita, che causi l'interruzione del loop.
Interrompere un ciclo: break
Il comando break interrompe un blocco di istruzioni e forza l'engine ad eseguire la prima istruzione che segue il blocco contenente il break
.
Un utilizzo appropriato è quello di evitare la formazione di loop infiniti:
var x=0;
while (true) {
console.log(x);
// condizione di uscita
if (x > 100) break;
x++;
}
L'esempio mostra come il ciclo continui ad incrementare la variabile x
finché questa non risulta maggiore di 100, caso in cui viene eseguita l'istruzione break
che interrompe il ciclo.
Continue
Il comando continue
, invece, serve per interrompere l'esecuzione della singola iterazione, saltando le istruizioni che seguono per riprendere da capo il blocco di istruzioni, all'iterazione successiva.
var x = 0;
while (x < 10) {
x++;
if (x > 3) continue;
// se x è maggiore di 3, questa istruzione non viene più eseguita
console.log(x);
}
Nell'esempio mostra come il ciclo si ripete finchè x
è minore di 10, ma se x risulta maggiore di 3 l'istruzione continue interrompe l'esecuzione del blocco di codice e riprende dall’inizio.