Sommario | Attacco | Crittologia | GnuPG/PGP | Programmazione | Sicurezza | Modifiche

 
   

Sommario / Programmazione / JavaScript / Fondamenti /

 

 
 


Gestire il flusso

Il controllo di flusso è il metodo impiegato per fare in modo che il programma si sposti attraverso le fasi necessarie con l'ordine maggiore possibile. JavaScript fornisce diverse espressioni per il controllo di flusso:

 

Tipo Espressione
if-else if (booleano) dichiarazione
else dichiarazione
switch switch (espressione) case  dichiarazione
break break [etichetta]
continue continue [etichetta]
return return [etichetta]
for for (espressione1; espressione2; espressione3) dichiarazione
for-in for (espressione1 in espressione2) dichiarazione
while while (booleano) dichiarazione

Passiamo adesso a vedere alcuni esempi pratici con if-else, switch, for e while.

Utilizzo di dichiarazioni if-else per prendere decisioni

If-else è l'espressione base di controllo di flusso del linguaggio JavaScript. In parole povere, se (if) qualcosa è vera, si esegue la prima dichiarazione, altrimenti (else) si esegue l'altra dichiarazione. Per esempio:

 

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- Nasconde lo script per i vecchi browser
function SceltaOccupazione(numero) {
if (numero == 1) {
   alert("Continuare il corso");
}
else if (numero == 2) {
   alert("Fare intervallo");
}
else if (numero == 3) {
   alert("Studiare per l'accertamento");
}
else {
   alert("Selezione errata");
}
}
// Fine dello script nascosto -->
</SCRIPT>
</HEAD>
<BODY>
<H1>Fai la tua scelta</H1>
<P>
<HR>
<FORM>
<INPUT TYPE="button" VALUE="Scelta 1" onClick="SceltaOccupazione(1)">
<INPUT TYPE="button" VALUE="Scelta 2" onClick="SceltaOccupazione(2)">
<INPUT TYPE="button" VALUE="Scelta 3" onClick="SceltaOccupazione(3)">
</FORM>
<HR>
</BODY>
</HTML>

Il codice che ci interessa è presente all'interno della funzione sceltaOccupazione. Lo so, non abbiamo ancora visto le funzioni, ma, almeno per adesso fate finta di non vedere quello che è il contenitore, lo vedremo in seguito, e passiamo direttamente al contenuto.

Nella pratica infatti, il messaggio ritornato all'utente sarà deciso in base al valore contenuto dalla variabile numero, analizzata all'interno dei diversi if.

Switch

Switch corrisponde ad un if-else espanso in pratica vi permette di specificare differenti azioni per differenti valori di un'espressione. Vediamo insieme il listato precedente modificato utilizzando switch:

 

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- Nasconde lo script per i vecchi browser
function SceltaOccupazione(numero) {
switch(numero) {
   case 1:  
      alert("Continuare il corso");
      break;
   case 2:
      alert("Fare intervallo");
      break;
   case 3:
      alert("Studiare per l'accertamento");
      break;
   default:
      alert("Selezione errata");
      break;
}
}
// Fine dello script nascosto -->
</SCRIPT>
</HEAD>
<BODY>
<H1>Fai la tua scelta</H1>
<P>
<HR>
<FORM>
<INPUT TYPE="button" VALUE="Scelta 1" onClick="SceltaOccupazione(1)">
<INPUT TYPE="button" VALUE="Scelta 2" onClick="SceltaOccupazione(2)">
<INPUT TYPE="button" VALUE="Scelta 3" onClick="SceltaOccupazione(3)">
</FORM>
<HR>
</BODY>
</HTML>

 

Come ripetere il codice: for

For è un potente strumento per eseguire ciclicamente una serie di istruzioni fino a che è raggiunto un qualche limite. Per fare questo, nella dichiarazione viene utilizzata una variabile da confrontare con il limite. Quando il limite è stato raggiunto, il ciclo viene interrotto. Facciamo un esempio utilizzando un programma di conversione da gradi Celsius a Fahrenheit:

 

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- Nasconde lo script per i vecchi browser
for(cels = 0; cels <= 100; cels += 5) {
   fahr = cels * 9/5 + 32;
   document.write(cels+" "+fahr+"<br>");
}
// Fine dello script nascosto -->
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>

Ciclo condizionale con while

Come abbiamo visto, il ciclo for è molto compatto e rende facile la lettura quando si tratta di gestire una serie di numeri. Con il while invece possiamo prima di tutto imitare il comportamento di un ciclo for:

 

i = 0;
while(i<10) {
   i++;
   document.write("ciclo "+i);
}

dopo di che possiamo stabilire una condizione di dichiarazioni più complesse, come per esempio:

 

while(CollegamentoAttivo && !CreditoEsaurito) {
   InviaMessaggi();
   CollegamentoAttivo=VerificaCollegamento();
   CreditoEsaurito=VerificaCredito();
}

 

     

 
 

Copyright © 1998 - 2009 Antonio Magrì - Tutti i diritti riservati. Contatto.