Callback-funktioner i JavaScript

I JavaScript kan programmører definere kodeenheder inklusive variabler og funktioner. JavaScript-funktioner kan også modtage parametre, hvor koden, der kalder en funktion, overfører disse parametre enten som variabler eller værdier. Det er også muligt at overføre en henvisning til en anden funktion som parameter. En tilbagekaldsfunktion er typisk en, der kaldes, når en anden funktion er færdig med at udføre. Af denne grund vises tilbagekaldsfunktioner ofte som parametre for andre funktioner.

Definition af tilbagekaldelse

For at implementere en tilbagekaldsfunktion skal JavaScript-koden på en side først definere funktionen. Følgende eksempelkode definerer en funktion og gemmer en variabel henvisning til den: var callbackDefinition = funktion (numParam) {alarm (numParam); };

Funktionen bruger en numerisk parameter til demonstration. Tilbagekaldsfunktionen kan indeholde enhver JavaScript-kode, som en standardfunktion kan omfatte. Koden kan nu sende en henvisning til funktionen som parameter til en anden funktion ved hjælp af variabelnavnet.

Parameter for tilbagekaldelse

Når et script har en funktion defineret som en variabel, kan den overføre denne variabel som parameter til en anden funktion. Følgende eksempelkode demonstrerer teknikken: mainFunction (10, callbackDefinition);

Denne kode kalder en navngivet funktion, passerer en nummerparameter og navnet på den variabel, der lagrer tilbagekaldsfunktionskoden. Konturen af ​​den funktion, der kaldes her, skal matche disse to parametre. Funktionen, der modtager tilbagekaldsvariablen, kan kalde den funktion, den gemmer.

Funktionsudførelse

Når den er videregivet til hovedfunktionen, kan en tilbagekaldsfunktion udføres. Følgende eksempelkode viser: funktion mainFunction (myNum, callbackFn) {alarm (myNum); callbackFn (myNum * 2); }

Til demonstration udsender denne kode først en JavaScript-alarm, der får en dialog til at vises i brugerens browser. Når denne kode er udført, kalder funktionen tilbagekaldsfunktionen ved hjælp af det navn, der er angivet som parameter. Callback-funktionskaldet indeholder en numerisk parameter, som forventes af den funktion, der oprindeligt blev defineret som en variabel.

Funktionsopkald

Når en side har defineret en funktion, inklusive tilbagekald, kan den udføre denne kode. Ofte instruerer udviklere browseren om at lytte efter en brugerhændelse og udføre funktioner, når dette sker. For eksempel kalder følgende HTML-kode en funktion: Her er en sektion, der kan klikkes

Hvis funktionen, der er angivet som parameter, indeholder definitionen af ​​tilbagekaldsvariabel og opkaldet til hovedfunktionen, vil dette skabe tilbagekaldelseseffekten som følger: funktion doCallback () {var callFn = funktion (numParam) {alarm (numParam); }; mainFunction (10, callFn); }

Når hovedfunktionen udfører sit eget kodeindhold, kalder den tilbagekaldsfunktionen.