Hanno già un termine per quello nel mondo Javascript. Si chiamano Function Expressions (IIFE) immediatamente invocato .
Che cos'è
Le funzioni IIFE non hanno un nome. Invece, vengono eseguiti una volta mentre l'interprete li incontra:
var area = function() {
var width = 3;
var height = 2;
return width * height;
}();
Le parentesi finali dopo la parentesi graffa di chiusura del blocco di codice indicano all'interprete di chiamare immediatamente l'espressione della funzione.
Se scrivi una dichiarazione di funzione devi aggiungere operatori di raggruppamento , o parentesi che circondano la funzione, per dire all'interprete di trattare la funzione come un'espressione che può essere immediatamente invocato:
var area;
(function() {
var width = 3;
var height = 2;
area = width * height;
}());
Quando sono utilizzati
Gli IIFE vengono utilizzati per il codice che deve essere eseguito una sola volta all'interno di un'attività, anziché essere chiamato ripetutamente.
- Come argomento quando viene chiamata una funzione (per calcolare valori, ecc.)
- Per assegnare il valore di una proprietà a un oggetto.
- In gestori di eventi e listener.
- Per evitare conflitti tra due script che potrebbero utilizzare gli stessi nomi di variabili. Possono essere usati come wrapper per rilasciare il codice in un altro script in cui non sei sicuro se i nomi delle variabili possano essere uguali.