Tanti sono gli elementi chiave di un linguaggio di programmazione, ma le più importanti sono le funzioni, e quindi è arrivato il momento di vedere cosa esse siano e come si implementano in un programma, che nel nostro caso sarà scritto in linguaggio Javascript. Una funzione quindi raccoglie in se tutte le istruzioni per farsi carico di un determinato compito da risolvere all’interno di un programma. Una funzione, quindi, è una parte (relativamente) autonoma di un programma in quanto si fa carico di un compito specifico che può essere ripetuto più volte in diversi punti del programma stesso. Organizzare un programma in funzioni consente in una maggiore pulizia del codice sorgente e, soprattutto, facilita il riutilizzo del codice e, di conseguenza, consente di creare programmi più snelli e semplici di mantenere ed aggiornare. Introdotto il concetto di funzione vediamo ora la sintassi per creare una funzione nel caso del linguaggio Javascript qui di seguito:

function nomeFunzione(argomenti) { istruzioni; }

Come si può notare dal segmento di codice ho utilizzato la parola chiave function propria del linguaggio Javascript, e ho assegnato un nome alla funzione, in questo caso “nomeFunzione” e, come si può constatare, utilizziamo le parentesi tonde subito dopo per passare alla funzione eventuali argomenti (cioè dei dati che la funzione potrà utilizzare per la sua elaborazione), detti anche parametri formali della funzione. Si noti che il passaggio di argomenti è del tutto facoltativo, in mancanza il nome della funzione sarà seguito da delle parentesi vuote (non essendo possibile ometterle). Il contenuto della funzione, ovvero le istruzioni che compongono il programma, viene racchiuso tra parentesi graffe { e }. Una cosa importante è quella di non dare alle funzioni nomi che indicano parole chiave utilizzate da Javascript, ad esempio non è possibile utilizzare write() come nome di una funzione: “write”, infatti, è un metodo dell’oggetto document e creando una funzione con questo nome (o con altre parole riservate) ci verrà restituito un errore (questo perché è come se si tentasse di sovrascrivere una funzione predefinita del linguaggio Javascript).

E’ tuttavia possibile utilizzare il nome Write() oppure WRITE(), dato che javascript è un linguaggio case-sensitive, ovvero riconosce differenze tra maiuscolo e minuscolo: in questo modo l’interprete non riconoscerà la funzione Write() come nome di un metodo, ma come parola “estranea” alla sintassi Javascript e la considererà valida. Valgono, inoltre, per i nomi delle funzioni le stesse considerazioni fatte in occasione dei nomi delle variabili.

I parametri delle funzioni

Un parametro è in genere un valore soggetto a variazioni, ad esempio una stringa di testo o un numero. I parametri vengono “passati” alla funzione all’interno delle parentesi tonde che seguono al nome della funzione (parametri formali). Se sono più di uno, i parametri delle funzione devono essere separati da una virgola:

function nomeFunzione(arg1, arg2, ..., argN) {
  istruzioni;
}

Facciamo un esempio di una semplice funzione per il calcolo dell’IVA su un prezzo:

function calcolaIVA(prezzo, aliquota){
  var iva = (prezzo/100)*aliquota;
  alert(iva + ' Euro');
}

Per richiamare la funzione:

<span onclick="calcolaIVA(100,22)">clicca qui</span>

Facendo click apparirà un alert con il valore dell’IVA applicata al prezzo passato in argomento (nel nostro caso il risultato sarà “22 Euro”). Tuttavia, nelle funzioni di un linguaggio di programmazione, compreso il Javascript, si fa un ulteriore distinzione di tipo parametro funzione, è cioè si riconoscono come parametri attuali quei parametri passati ad una funzione durante la sua invocazione in un certo punto del programma (es. var c = calcoloIva(200, 22)), quest’ultimi parametri definiti sono quelli che appaiono nelle parentesi della chiamata di funzione (“invocazione”).

Infine si può parlare di due tipi di “passaggio parametri”:

  • Passaggio per valore: questo metodo consiste nel passare come parametri alla funzione invocata dei parametri come valori numerici o variabili con valore inizializzato a priori (es. calcoloIVA(100, 22) oppure var x = 100; var y = 100; somma(x, y)).
  • Passaggio per riferimento: quest’altro metodo invece consiste nel creare una corrispondenza tra i valori attuali passati nella chiamata della funzione e quelli dichiarati come parametri formali nella dichiarazione della funzione, in modo che il linguaggio gestirà in automatico i valori che la funzione dovrà elaborare e modificare nel corso dell’esecuzione del programma.

La parola chiave return

Nel mio esempio il risultato della funzione viene mostrato all’interno di una finestra di avviso. Molto spesso, in realtà, il frutto dell’elaborazione di una funzione viene restituito attraverso l’utilizzo della keyword return, viene cioè restituito sotto forma di valore di ritorno. Così facendo la funzione non si interessa del modo in cui il valore verrà eventualmente mostrato a video, ma si limita ad effettuare la sua elaborazione ed a restituirne il risultato alla routine principale. Vediamo, quindi, l’esempio del nostro calcolatore di IVA modificato:

function calcolaIVA(prezzo,aliquota){
  var iva = (prezzo/100)*aliquota;
  return iva;
}

Per ottenere lo stesso risultato di prima, quindi, avrei dovuto impostare l’alert() direttamente nell’evento onclick del tag <span> in questo modo:

<span onclick="alert(calcolaIVA(100,22))">clicca qui</span>

L’utilizzo di return è molto utile quando la funzione viene utilizzata in diversi punti del programma ed il suo risultato viene manipolato in modi differenti. Utilizzando return, inoltre, il risultato di una funzione può essere utilizzato anche per valorizzare una variabile, come nel seguente esempio:

var tax = calcolaIVA(100,22);

Chiarito anche quest’ultimo aspetto, direi che anche la lezione di oggi sulle funzioni in Javascript finisce qua! Spero come sempre che tutto sia chiaro e che l’articolo sia di vostro gradimento! Per qualsiasi chiarimento o informazione sapete che potete contattarmi utilizzando il modulo presente nella pagina contatti di WorldTecno. Vi invito inoltre a lasciare commenti e mi piace per mostrare il vostro piacere verso WorldTecno e i miei articoli, tuttavia vi rimando al prossimo articolo e vi auguro un buon proseguimento, Ciao! 😉

 

Articoli correlati

Boostrap

Corso Bootstrap – Sesta Lezione.

Ed eccoci qui di nuovo, con la sesta lezione del corso bootstrap! Che come ricordiamo sempre è un corso realizzato grazie ad una collaborazione nata tra Falco96 e WorldTecno. Questa sarà una lezione veramente piena Leggi tutto&ellip;

Corsi

L’oggetto “window” del Javascript.

Ciao! In questa lezione andiamo a conoscere l’oggetto window. E’ l’oggetto principale utilizzato nel Javascript ed è rappresentato dall’intera “finestra” del browser. Se la finestra è composta da una pluralità di “frames” (cioè se ad Leggi tutto&ellip;

Boostrap

Corso Bootstrap: Quarta Lezione.

Dopo la scorsa lezione di Bootstrap, oggi siamo qui per proseguire con voi il percorso di questo corso con un’altra nuova lezione arrivando a bene a 4 lezioni totali affrontate fino ad ora. Inoltre come Leggi tutto&ellip;

%d blogger hanno fatto clic su Mi Piace per questo: