Rispondo a te, ma invito tutti a leggere quanto segue. for esegue un tot numero di volte il proprio contenuto. La dichiarazione si compone di tre parti (tre e solo tre! né più, né meno!) separate da un punto e virgola:
codice:
for ([PRIMA PARTE]; [SECONDA PARTE]; [TERZA PARTE]) {
//contenuto
}
La prima parte viene eseguita solo una volta prima dell'avvio del ciclo e può contenere solo una delle seguenti tre cose:[list=1][*]Dichiarazione di variabili locali (var var1 = valore1, val2 = valore2, val3 = valore3, etc. etc)[*]Dichiarazione di variabili globali (var1 = valore1, val2 = valore2, val3 = valore3, etc. etc) [ovvero senza var]. Attenzione perché tutte le variabili che verranno dichiarate qui saranno globali se manca il var![*]La ripresa di un singolo valore a piacere (var1 oppure null o quello che ti pare)[/list=1]
Da quanto appena esposto ci rendiamo conto che i seguenti cicli sono la stessa cosa se ci troviamo nel global scope:
codice:
for (var variabile1 = "Parli sempre! ", variabile2 = 0, variabile3 = "!"; variabile2 < 5; variabile2++) {
variabile1 += "bla";
}
alert(variabile1 + variabile3);
codice:
for (variabile1 = "Parli sempre! ", variabile2 = 0, variabile3 = "!"; variabile2 < 5; variabile2++) {
variabile1 += "bla";
}
alert(variabile1 + variabile3);
codice:
var variabile1 = "Parli sempre! ", variabile2 = 0, variabile3 = "!";
for (variabile1; variabile2 < 5; variabile2++) {
variabile1 += "bla";
}
alert(variabile1 + variabile3);
codice:
var variabile1 = "Parli sempre! ", variabile2 = 0, variabile3 = "!";
for (null; variabile2 < 5; variabile2++) {
variabile1 += "bla";
}
alert(variabile1 + variabile3);
La seconda parte contiene la condizione affinché il ciclo prosegua e il contenuto è identico a quello che puoi trovare tra le parentesi tonde di un if:
codice:
if ([CONDIZIONE]) { }
La terza parte contiene un'istruzione a piacere da eseguire al termine di ciascun ciclo, dopo il blocco di codice. Ergo i seguenti cicli sono identici, cambia solo l'ordine in cui vengono eseguite le uniche due istruzioni presenti:
codice:
for (var variabile1 = "Parli sempre! ", variabile2 = 0, variabile3 = "!"; variabile2 < 5; variabile2++) {
variabile1 += "bla";
// QUI E' COME SE CI FOSSE SCRITTO:
// variabile2++;
}
alert(variabile1 + variabile3);
codice:
for (var variabile1 = "Parli sempre! ", variabile2 = 0, variabile3 = "!"; variabile2 < 5; variabile1 += "bla") {
variabile2++;
// QUI E' COME SE CI FOSSE SCRITTO:
// variabile1 += "bla";
}
alert(variabile1 + variabile3);
Nessuna delle tre parti può essere lasciata vuota.
Tutto ciò ci fa rendere conto della straordinaria flessibilità di javascript. Spero di essere stato chiaro ed esauriente…