In JavaScript, i programmatori possono definire unità di codice incluse variabili e funzioni. Le funzioni JavaScript possono anche ricevere parametri, con il codice che chiama una funzione passando questi parametri come variabili o valori. È anche possibile passare un riferimento a un'altra funzione come parametro. Una funzione di callback è in genere quella che viene chiamata quando un'altra funzione termina l'esecuzione. Per questo motivo, le funzioni di callback vengono spesso visualizzate come parametri per altre funzioni.
Definizione di richiamata
Per implementare una funzione di callback, il codice JavaScript in una pagina deve prima definire la funzione. Il seguente codice di esempio definisce una funzione e ne memorizza un riferimento variabile: var callbackDefinition = function(numParam) { alert(numParam); };
La funzione utilizza un parametro numerico per la dimostrazione. La funzione di callback può contenere qualsiasi codice JavaScript che potrebbe includere una funzione standard. Il codice sarà ora in grado di passare un riferimento alla funzione come parametro a un'altra funzione, utilizzando il nome della variabile.
Parametro di richiamata
Una volta che uno script ha una funzione definita come variabile, può passare quella variabile come parametro a un'altra funzione. Il seguente codice di esempio illustra la tecnica: mainFunction(10, callbackDefinition);
Questo codice chiama una funzione denominata, passando un parametro numerico e il nome della variabile che memorizza il codice della funzione di callback. Il profilo della funzione che viene chiamata qui deve corrispondere a questi due parametri. La funzione che riceve la variabile di callback sarà in grado di chiamare la funzione che memorizza.
Esecuzione della funzione
Una volta passato alla funzione principale, può essere eseguita una funzione di callback. Il seguente codice di esempio dimostra: function mainFunction(myNum, callbackFn) { alert(myNum); callbackFn(mioNum*2); }
A scopo dimostrativo, questo codice emette prima un avviso JavaScript che farà apparire una finestra di dialogo nel browser dell'utente. Una volta eseguito questo codice, la funzione chiama la funzione di callback utilizzando il nome specificato come parametro. La chiamata alla funzione di callback include un parametro numerico, previsto dalla funzione inizialmente definita come variabile.
Chiamata di funzione
Una volta che una pagina ha una funzione definita, incluso un callback, può eseguire questo codice. Spesso gli sviluppatori indicano al browser di ascoltare un evento utente, eseguendo le funzioni quando ciò si verifica. Ad esempio, il seguente codice HTML chiama una funzione: Ecco una sezione cliccabile
Se la funzione specificata come parametro contiene la definizione della variabile di callback e la chiamata alla funzione principale, questo creerà l'effetto di callback, come segue: function doCallback() { var callFn = function(numParam) { alert(numParam); }; mainFunction(10, callFn); }
Una volta che la funzione principale esegue il proprio contenuto di codice, chiama la funzione di callback.