Funzioni

Definire un blocco di codice che può essere richiamato più volte nel programma...

Funzioni incorporate

Abbiamo già incontrato alcune funzioni incorporate nel browser:

Definire una funzione

Per definire una funzione usiamo la parola chiave function seguita dal nome della funzione; tra parentesi tonde passiamo dei parametri (se necessario), e ogni volta che la funzione sarà richiamata eseguirà il codice contenuto nel blocco tra parentesi graffe e restituirà il valore specificato da return:

Invocare una funzione

Dopo aver definito una funzione possiamo usarla tutte le volte che vogliamo nel codice:

Funzioni anonime

E' possibile definire una funzione anche senza farle un nome:

Le funzioni anonime sono di solito usate per definire le operazioni da fare quando accade un evento (ad esempio il click del mouse):

Una funzione anonima può anche essere assegnata come valore di una variabile, per poi essere usata in seguito:

Sarà poi possibile invocarla come di consueto:

Il vantaggio è che a uno stesso nome di funzione possono essere associate funzioni diverse in base alle esigenze.

 

Ambito delle funzioni

Quando definiamo una funzione, le variabili che creiamo al suo interno non sono visibili fuori dalla funzione. Lo scope (ambito) è come un recinto dentro al quale ci sono le cose della funzione, come in uno zoo:

Il global scope è lo spazio globale dell'intero zoo: chi ha accesso allo scope globale (il guardiano) può entrare nei singoli recinti ma anche nello spazio tra di essi.

Lo scope è molto importante e per capirlo pensiamo a cosa capiterebbe se due programmatori chiamassero due funzioni con lo stesso nome, e noi poi andassimo a importare i due file javascript nel nostro codice:

Solo la prima versione sarà accessibile: la seconda sarà ignorata.

 

  • JAVASCRIPT

CFP CNOS-FAP DON BOSCO - via XIII Martiri, 86 - 30027 San Donà di Piave (VE) - tel. 0421 338 980 - Organismo di Formazione accreditato dalla Regione del Veneto