L'istruzione FOR in Javascript

L'istruzione FOR del linguaggio Javascript consente di eseguire un ciclo incondizionato.

for ( inizio; fine; passo) {
blocco istruzioni
}

L'istruzione FOR è composta da tre parametri

  • Il valore iniziale della variabile di controllo (inizializzazione)
  • Il valore finale della variabile di controllo (condizione di uscita)
  • Il passo ossia l'incremento della variabile di controllo dopo ogni iterazione

Tra le parentesi graffe scrivo il blocco di istruzioni da eseguire in ogni iterazione.

Cos'è un ciclo incondizionato? Si tratta di un blocco di istruzioni che viene eseguito per un numero determinato N di volte. Il numero complessivo di iterazioni (giri) del ciclo è detto loop. L'istruzione for è detta struttura incondizionata perché si conosce fin dall'inizio il numero dei cicli che farà. L'iterazione non è condizionata da un evento aleatorio o incerto.

Come funziona?

Il ciclo for compie N iterazioni e in ogni iterazione esegue il blocco di codice tra le parentesi graffe.

Una volta conclusa l'iterazione passa all'iterazione successiva e ricomincia daccapo.

Dopo N iterazioni lo script cessa di reiterare e il loop si conclude.

Un esempio pratico

Questo ciclo FOR stampa i numeri da 1 a 9.

for (var=1; var<10; var++)
{
document.write(" " + var );
}

  • Nel primo parametro dell'istruzione FOR assegno alla variabile di controllo var il numero uno ( var=1 ). E' il valore di partenza della variabile di controllo (inizializzazione).
  • Nel secondo parametro definisco la condizione di uscita ( var<10 ). Fin quando la variabile var è minore di 10, il loop continua a girare.
  • Nel terzo parametro definisco il passo ossia l'incremento della variabile di controllo alla fine di ogni iterazione. In questo caso si tratta di un incremento unitario ( var=var+1 ). Ogni volta che si conclude un'iterazione la variabile var viene aumentata di una unità.

Il risultato finale sullo schermo dell'utente è il seguente:

1 2 3 4 5 6 7 8 9

Il loop termina quando la variabile var assume il valore dieci ( 10 ) perché non è più soddisfatta la condizione di controllo ( var<10 ).

Il caso del passo negativo ( decremento )

Posso realizzare un ciclo FOR anche utilizzando un decremento o passo negativo.

for (var=10; var>0; var=var-1)
{
document.write(" " + var );
}

  • Nel primo parametro il valore iniziale della variabile di controllo è dieci (var=10).
  • Nel secondo parametro definisco la condizione di reiterazione è (var>0). Fin quando la variabile è maggiore di zero il ciclo FOR continua a girare.
  • Nel terzo parametro indico il passo è invece negativo ( var=var-1 ). Al termine di ogni ciclo viene sottratta un'unità alla variabile var.

Quando la variabile diventa pari a zero il ciclo termina. Il risultato sul browser dell'utente è il seguente:

9 8 7 6 5 4 3 2 1

Il principio di funzionamento della struttura ciclica è identico ma il passo è negativo ( decremento ) anziché un incremento positivo.

Quando usare l'istruzione FOR? L'istruzione FOR è utile quando conosco a priori il numero delle iterazioni da compiere. Ad esempio, per elaborare i mesi (12) o i giorni (365) dell'anno (12), le ore del giorno (24), i giorni della settimana (7), e così via. Per creare una struttura ciclica condizionata a un evento incerto è, invece, necessario utilizzare l'istruzione While. Va comunque detto che qualsiasi ciclo FOR può essere realizzato anche con un ciclo WHILE.

Il ciclo for come iteratore negli array

Posso usare il ciclo FOR anche nella funzione di iteratore per leggere gli elementi di un array

var nomearray = new Array;
nomearray[0]=1;
nomearray[1]=2;
nomearray[2]=3;

for (var i=0; i<nomearray.length; i++) {
document.write(nomearray[i]);
}

Lo script stampa a video i valori assegnati agli elementi dell'array

123

L'operatore IN

Posso anche usare l ciclo FOR per leggere le proprietà di un oggetto

In questo caso devo abbinare l'istruzione for con l'operatore IN

var persona = { nome: "Andrea", cognome: "Minini", annoNascita: 1968, stato: "Italia" };

for (x in persona) {
document.write(x + " = " + persona[x] + " ");
}

Questo script legge tutte le proprietà dell'oggetto persona.

Poi stampa a video il nome della proprietà e il valore assegnato.

nome = Andrea cognome = Minini annoNascita = 1968 stato = Italia

E così via.

 


 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin
knowledge base

Javascript

Le strutture di controllo

Gestione degli errori ed eccezioni

Le strutture cicliche

FAQ