Återuppringningsfunktioner i JavaScript

I JavaScript kan programmerare definiera enheter av kod inklusive variabler och funktioner. JavaScript-funktioner kan också ta emot parametrar, med koden som anropar en funktion som skickar dessa parametrar antingen som variabler eller värden. Det är också möjligt att skicka en referens till en annan funktion som parameter. En återuppringningsfunktion är vanligtvis en som anropas när en annan funktion är klar. Av denna anledning visas återuppringningsfunktioner ofta som parametrar för andra funktioner.

Definition av återuppringning

För att implementera en återuppringningsfunktion måste JavaScript-koden på en sida först definiera funktionen. Följande exempelkod definierar en funktion och lagrar en variabelreferens till den: var callbackDefinition = funktion (numParam) {alert (numParam); };

Funktionen använder en numerisk parameter för demonstration. Återuppringningsfunktionen kan innehålla vilken JavaScript-kod som en standardfunktion kan innehålla. Koden kommer nu att kunna skicka en referens till funktionen som parameter till en annan funktion med variabelnamnet.

Återuppringningsparameter

När ett skript har en funktion definierad som en variabel kan den skicka variabeln som parameter till en annan funktion. Följande exempelkod visar tekniken: mainFunction (10, callbackDefinition);

Denna kod anropar en namngiven funktion, skickar en sifferparameter och namnet på variabeln som lagrar återkallningsfunktionskoden. Konturen för den funktion som anropas här måste matcha dessa två parametrar. Funktionen som tar emot återuppringningsvariabeln kan anropa den funktion den lagrar.

Funktionsutförande

Efter att ha gått till huvudfunktionen kan en återuppringningsfunktion köras. Följande exempelkod visar: funktion mainFunction (myNum, callbackFn) {alert (myNum); callbackFn (myNum * 2); }

För demonstration matar den här koden först ut en JavaScript-varning som får en dialogruta att visas i användarens webbläsare. När denna kod har körts anropar funktionen återuppringningsfunktionen med det namn som anges som parameter. Återuppringningsfunktionsanropet innehåller en numerisk parameter som förväntas av den funktion som ursprungligen definierades som en variabel.

Funktionssamtal

När en sida har en funktion definierad, inklusive återuppringning, kan den köra den här koden. Ofta instruerar utvecklare webbläsaren att lyssna efter en användarhändelse och utföra funktioner när detta inträffar. Följande HTML-kod anropar till exempel en funktion: Här är ett klickbart avsnitt

Om funktionen som anges som parameter innehåller definitionen för återuppringningsvariabel och samtalet till huvudfunktionen kommer detta att skapa återuppringningseffekten enligt följande: funktion doCallback () {var callFn = funktion (numParam) {alert (numParam); }; mainFunction (10, callFn); }

När huvudfunktionen har kört sitt eget kodinnehåll anropar den återuppringningsfunktionen.