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:
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]codice:for ([PRIMA PARTE]; [SECONDA PARTE]; [TERZA PARTE]) { //contenuto }
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);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:var variabile1 = "Parli sempre! ", variabile2 = 0, variabile3 = "!"; for (null; variabile2 < 5; variabile2++) { variabile1 += "bla"; } alert(variabile1 + variabile3);
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:if ([CONDIZIONE]) { }
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);Nessuna delle tre parti può essere lasciata vuota.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);
Tutto ciò ci fa rendere conto della straordinaria flessibilità di javascript. Spero di essere stato chiaro ed esauriente…![]()

Rispondi quotando