JavaScript/Funzioni definite dall'utente
Wikibooks, manuali e libri di testo liberi.
Come molti linguaggio di programmazione, anche JavaScript da la possibilità di creare le proprie funzioni personalizzate.
Come è stato già accenato in precedenza, una funzione è un sottoprogramma identificato da una sequenza di caratteri che può accettare o meno nessuno o più parametri e può restituire un valore.
[modifica] Creare le proprie funzioni: una panoramica
La sintassi per la creazione di una nuova funzione è la seguente:
function nome_funzione (arg1, arg2, argN...) { ''codice'' }
Ad esempio:
function benvenuto (nome) { alert("Benvenuto, " + nome); }
Se vogliamo eseguire il codice contenuto nella funzione dobbiamo richiamarla (o invocarla). Ad esempio:
var n = prompt("Come ti chiami?"); if (n != "") benvenuto (n);
Con questo breve spezzone chiediamo all'utente di inserire il nome e, se non risponde con una stringa vuota e non ha premuto Annulla, gli porge il benvenuto (si noti che il metodo prompt restituisce una stringa vuota se l'utente fa clic su "Annulla").
[modifica] Usare i parametri
Come abbiamo visto, è possibile prevedere che l'utente possa passare alcuni parametri alla funzione. Dando una sguardo alla funzione di benvenuto creata precedentemente, vediamo che il parametro nome della funzione diventa poi automaticamente una variabile; se quando viene chiamata la funzione viene omesso, il parametro assumerà un valore nullo (che diventa 0 per i numeri, una stringa vuota per i valori alfanumerici, falso per i valori booleani).
[modifica] Impostare un valore di ritorno
Impostare un valore di ritorno di una funzione è molto semplice, basta seguire la sintassi:
return valore;
Quando incontra l'istruzione return, JavaScript interrompe l'esecuzione della funzione e restituisce il valore indicato. Ad esempio:
function somma (a, b) { //una semplice funzione return a+b; } var c = somma(3,5); //c assumerà il valore 8 somma(4,12); //in questo caso non succede nulla
Si noti che una funzione può essere richiamata solamente dopo che è già stata inserita nel programma. Un codice come questo genererebbe errore:
var c = somma(3,5); //la funzione somma non esiste ancora! function somma (a, b) { //una semplice funzione return a+b; }

