Il nostro primo programma in javascript!

JavaScript è un linguaggio che viene interpretato dal browser. Sembra un affermazione molto astrusa, ma in realtà è una definizione molto semplice ed efficace.

Il web, secondo lo schema illustrato a pag. 12 del nostro testo, funziona a due livelli:

1. le pagine web vengono inviate all'utente da un web server, cioè da un programma che si trova su un computer remoto, e che per lo più non fa nient'altro che inviare le pagine a chi ne fa richiesta (in realtà può fare un sacco di altre cose, ma in questo contesto non è necessario specificarle...)
2. l'utente da casa visualizza sul proprio browser le pagine che gli sono stato inviate. Un "browser" è un programma che permette di leggere le pagine scritte in linguaggio HTML: si tratta di "Internet Explorer", "Mozilla Firefox ", "Safari" e altri.

Quando visualizziamo le nostre pagine web da casa ci sono dunque due computer che si parlano: il server e il client.

Alcuni linguaggi di scripting (asp, php, perl) vengono eseguiti dal web server (si chiamano appunto linguaggi server side o lato server). JavaScript, invece, viene eseguito sul nostro computer di casa dal browser (è un linguaggio client side o lato client).

Dire che JavaScript è un linguaggio lato client, significa anche che i vostri script avranno validità all'interno delle singole pagine web visualizzate.

Dicevamo inoltre che JavaScript è un linguaggio di scripting: questo significa che la sintassi JavaScript potete scriverla direttamente dentro la pagina HTML, senza bisogno di produrre alcun file compilato.

Con i linguaggi di programmazione invece (come il C, il C++) si scrive la sintassi, e poi la si passa a un compilatore, che produce un file "compilato", in cui la sintassi è scomparsa. Tutti i programmi di windows ad esempio sono dei file compilati, in cui non c'è più traccia della sintassi originaria (cioè dei "sorgenti").

JavaScript invece non è compilato: potete quindi visualizzare in qualsiasi momento il codice di una pagina HTML e leggere le righe di sintassi JavaScript.

Dire che è un linguaggio di scripting sottintende dunque il fatto che sia un linguaggio interpretato: come abbiamo visto non esiste nessun compilatore, ma è direttamente il browser, tramite un apposito motore di scripting (cioè di visualizzazione), che legge le parti di codice JavaScript.
Nota a margine

Il corso di JavaScript che affronteremo vi servirà per aggiungere dinamicità alle vostre pagine web, non per interagire coi database.

Esempio:

<html>
<head>
<title></title>
<script language="javascript" type="text/javascript">
/*
Questa funzione ha il compito di
chiedere in input un numero
decidere se è pari o dispari
comunicarlo all'utente
*/
function pari_o_dispari()
{
window.alert("Questa funzione ha il compito di decidere se un numero è pari o dispari"); // Messaggio di informazione
/* dichiaro una variabile che chiamerò n e la carico con il valore inserito dall'utente
con la funzione prompt
*/
var n = prompt("Inserisci un numero", "Digitalo qui...");

n = parseInt(n); // trasformo l'input in un numero naturale

if (n%2==1) // se il resto della divisione tra n e 2 è 1...
{
alert("Il numero è dispari");
}
else
{
alert("Il numero è pari");
}

}
</script>
</head>

<body>
<script language="Javascript">
pari_o_dispari()
</script>

</body>
</html>


Notate la dichiarazione del programma (function pari_o_dispari()) nella intestazione del file html mentre il richiamo della funzione che ne provoca l'esecuzione è nel corpo (body).

Copiate le scritte di sopra in un file che salveremo con il nome primo.htm. Con risorse del computer, localizzatelo e clikkate 2 volte e... il gioco è fatto.
Scrivere un testo come quello di sopra con il blocco note (notepad) non è agevole, per cui occorre munirsi di un programma che ci aiuti a controllare la sintassi del linguaggio a sfogliarne il manuale, a cercare esempi simili alle nostre esigenze...
In rete se ne trovano molti e gratis, eccovene uno http://www.yaldex.com/Free_JavaScript_Editor.htm#download Scaricatelo, installatelo e provatelo. (Ah! dimenticavo... conviene imparare l'inglese...)