Se deciderete di applicarvi intensamente allo studio di
Javascript, di sicuro vi accadrà di trovarvi in situazioni
nelle quali rimarrete bloccati all'interno di un loop, che in
tal caso viene chiamato
loop infinito.
In nostro aiuto ci viene la parola chiave
break
che termina automaticamente il loop ed esegue la prima
istruzione successiva al loop. Da notare che, se decidete di
interrompere un loop con l'istruzione break, non potete più
tornare ad esso e tutte le variabili restano settate al
momento in cui il loop è stato interrotto.
Torniamo al nostro ormai famoso esempio. Vogliamo ancora veder
scritta sul nostro browser la frase "Sto imparando Javascript"
per cinque volte. Ad un certo punto però inseriremo
un'istruzione break che ci fornirà un risultato insolito.
Esempio 3.5
<html>
<head></head>
<body>
<script language="javascript">
contatore = 1;
while (contatore < 6) {
document.write("Sto imparando Javascript<br/>");
contatore++;
if (contatore == 3)
break;
}
</script>
</body>
</html> |
Se provate a scrivere questo codice e a visualizzarlo sul
browser, noterete che la scritta "Sto imparando Javascript"
appare solo 2 volte invece di 5. Il motivo è semplice:
l'istruzione break da noi immessa fa si che, quando il
contatore raggiunge il numero 3, il loop viene interrotto.
Oltre a break, abbiamo anche la parola chiave continue
che ferma il loop e ritorna all'inizio di esso. Tutte le
istruzioni che seguono la parola chave continue non vengono
eseguite solo per una volta, per poi riprendere normalmente.
Esempio 3.6
<html>
<head></head>
<body>
<script language="javascript">
contatore = 1;
while (contatore < 6) {
contatore++;
if (contatore == 3)
continue;
document.write("Sto imparando Javascript<br/>");
}
</script>
</body>
</html> |
Vale la pena analizzare questo esempio. In questo caso, la
frase "Sto imparando Javascript" verrà visualizzata nel
browser 4 volte. Infatti, l'istruzione continue sarà eseguita
solo quando la variabile contatore è uguale a 3. Quando si
verifica ciò, il programma "salta" l'istruzione che segue la
parola chiave continue e ritorna all'inizio del loop. Ciò
significa che, per una volta, l'istruzione document.write non
verrà eseguita.