Javascript   Home Su Flow Chart C++ Visual Studio - C# ER/Access SQL Pascal e Delphi ASP Javascript

                                                                                         


 

 

NOTA: per provare gli esercizi è sufficiente creare con un editor di testo un file con estensione .htm e caricarlo in un browser (consiglio Firefox).

Esempio 1 (script nella sezione head, script diretton nel body, richiamare nel body uno script
inserito nella sezione head, calcoli e conversioni automatiche di tipo, accedere alle proprietà e
richiamare i metodi delle classi predefinite (esempio con String).

<html>
<head>
  <title>PROVA ALERT</title>

  <!-- gli scrip nell'header non partono da soli ma devono essere invocati nel body tipicamente
  nella gestione di un evento; essi sono immediatamente disponibili nel resto della pagina a differenza
  di quelli inseriti direttamente nel body che vengono eseguiti nell'ordine in cui sono 'incontrati' -->

  <script language="JavaScript">
     //i tipi restituiti dalle funzioni e quelli dei parametri non devono (purtroppo ...) essere dichiarati
    //la funzione 'messaggio' viene richiamata piu' avanti nel body ...
     function messaggio(msg)
    {
       alert(msg);
     }
  </script>

</head>

<body>
<!-- gli script nel body vengono eseguiti nell'ordine in cui si incontrano -->

<script language="JavaScript">
   alert("Benvenuti sul sito!");
</script>

<script language="JavaScript">
    //invoco la funzione messaggio (vedi head; passo come parametro la stringa da visualizzare)
    messaggio("Richiamato nel body ...");

//le variabili non devono essere dichiarate
somma = 12+4;

//le variabili numeriche vengono automaticamente
//convertite in stringa quando ha un senso
messaggio("12+4 fa " + somma);

//un altro esempio di conversione automatica in stringa
s = "12 + 4 fa " + somma;

//le stringhe in realtà sono oggetti con diverse proprietà ...
//nota: length non e' un metodo ma una proprieta', quindi niente parentesi come in length() !
messaggio(s.length);

//... e metodi (comandi)
s="topolino";
messaggio(s.toUpperCase() + " - notare il maiuscolo!" );

</script>

</body>
</html>

 

Esempio 2: chiedere dati all'utente e memorizzarli in variabili, generare codice html in modo dinamico

<html>
<head>
  <title>PROVA PROMPT</title>
</head>

<body>

<script language="JavaScript">
   visitatore = prompt("Come ti chiami?");
   document.write("Benvenuto, " + visitatore + "!");

    larghezza = prompt("Che percentuale della pagina deve occupare la tabella?");
</script>

faccio generare con document.write in questo punto della pagina il tag table con l'attributo
width valorizzato con la percentuale appena chiesta
<script language="Javascript">
    document.write("<table width="+larghezza +"% border=2 cellspacing=3 cellpadding=2>");
</script>

//il resto della tabella è fisso ...
<tr>
  <td>&nbsp;</td>
  <td>&nbsp;</td>
</tr>
<tr>
  <td>&nbsp;</td>
  <td>&nbsp;</td>
</tr>
<tr>
  <td>&nbsp;</td>
  <td>&nbsp;</td>
</tr>
<tr>
  <td>&nbsp;</td>
  <td>&nbsp;</td>
</tr>
</table>

</body>
</html>

Esempio 3: accesso agli oggetti del browser (cambiare posizione alla finestra del browser in modo casuale), uso dei metodi della classe predefinita Math, ciclo for.

<html>
<head>
  <title>Prova JavaScript</title>
</head>

<body>

<script language="JavaScript">
   alert('Il valore di pi greco: ' + Math.PI);

  //il metodo moveTo richiede le coordinate dell'angolo in alto a sinistra in cui muovere la finestra
  //il metodo random genera un numero casuale tra 0 e 1 (escluso); immagino che lo schermo abbia
 //dimensioni 300x300 pixel; moltiplico per 300 ottenendo una posizione su questo schermo che però
//deve essere arrotondata ad un numero intero con round()
 for (i=1;i<500;i++)
      window.moveTo(Math.round(Math.random()*300), Math.round(Math.random()*300) );

</script>

</body>

</html>
 


Tutti i marchi registrati e i nomi dei prodotti menzionati appartengono ai rispettivi proprietari.

Inviare a camuso@bigfoot.com un messaggio di posta elettronica contenente domande o commenti su questo sito Web.

Aggiornato il: 04-11-07.