logo Dove iniziare Linguaggi Aiuto Blog
Home Dove iniziare Linguaggi Aiuto e Supporto Info e Blog

Istruzioni break e continue

Nelle lezioni precedenti, abbiamo visto i cicli di for, cicli for in e cicli di while. In questa lezione, vediamo come utilizzare le istruzioni break e continue nei cicli in JavaScript.

L'istruzione break

L'istruzione break serve per bloccare un ciclo di qualunque tipo. Ad esempio:

let n = 34;
for(i = 0; i < 10000; i++){
  n++;
  if(n == 50){
    break;
  }
}

Nell'esempio qui sopra, il ciclo di for termina quando n è uguale a 50, grazie a break.

Vediamo un esempio con il ciclo for in:

let linguaggio = "JavaScript";

for(proprieta in linguaggio){
  alert(linguaggio[proprieta]);
  // Risultato: "J"
  // Risultato: "a"
  // Risultato: "v"
  if(linguaggio[proprieta] == "v"){
    // Se la lettera è la "v", il ciclo si ferma
    break;
  }
}

In questo caso, il ciclo si ferma con break quando incontra la lettera "v".

L'istruzione break in due cicli annidati

Quando troviamo due cicli annidati uno dentro l'altro, break esce soltanto dal ciclo in cui si trova. Ad esempio:

for(i = 0; i < 3; i++){
  for(j = 0; j < 5; j++){ 
    if(j == 2){
      break;
    }
    console.log("i = "+i+", j = "+j);
  }
}

Quando j è uguale a 3, il ciclo di j si interrompe, ma il ciclo di i no. Questo significa che il ciclo di j ricomincia. Il risultato sarebbe:

i = 0, j = 0
i = 0, j = 1
i = 1, j = 0
i = 1, j = 1
i = 2, j = 0
i = 2, j = 1

L'istruzione continue

L'istruzione continue consente di saltare un ciclo e riprendere al ciclo successivo. Ad esempio:

for(i = 0; i < 4; i++){
  if(i == 2){
    continue;
  }
  console.log(i);
}

// Risultato:
// i = 0
// i = 1
// i = 3

Nell'esempio, quando si arriva a i = 2 si salta quel ciclo e si passa a quello successivo.

Prova!Completa gli spazi vuoti con il testo appropriato.
// Interrompi il ciclo di for quando n = 14
let n = 12;
for(i = 0; i < 3; i++){
  if(n == 14){
    ;
  }
}

Prova!Scegli l'opzione corretta tra quelle elencate.
// Salta il ciclo quando i = 1
for(i = 0; i < 3; i++){
  if(i == 1){
    ______;
  }
}