U JavaScriptu programeri mogu definirati jedinice koda, uključujući varijable i funkcije. JavaScript funkcije također mogu primati parametre, a kod poziva funkciju koja te parametre prosljeđuje ili kao varijable ili kao vrijednosti. Također je moguće proslijediti referencu na drugu funkciju kao parametar. Funkcija povratnog poziva je obično ona koja se poziva kad druga funkcija završi s izvršavanjem. Iz tog se razloga funkcije povratnog poziva često pojavljuju kao parametri drugim funkcijama.
Definicija povratnog poziva
Da bi se implementirala funkcija povratnog poziva, JavaScript kôd na stranici prvo mora definirati funkciju. Sljedeći primjer koda definira funkciju i pohranjuje referencu varijable na nju: var callbackDefinition = function (numParam) {alert (numParam); };
Funkcija koristi numerički parametar za demonstraciju. Funkcija povratnog poziva može sadržavati bilo koji JavaScript kôd koji standardna funkcija može sadržavati. Kod će sada moći proslijediti referencu na funkciju kao parametar drugoj funkciji, koristeći naziv varijable.
Parametar povratnog poziva
Jednom kada skripta ima funkciju koja je definirana kao varijabla, može tu varijablu kao parametar proslijediti drugoj funkciji. Sljedeći uzorak koda prikazuje tehniku: mainFunction (10, callbackDefinition);
Ovaj kod poziva imenovanu funkciju, prosljeđujući parametar broja i ime varijable koja pohranjuje kod funkcije povratnog poziva. Obris funkcije koja se ovdje poziva mora se podudarati s ova dva parametra. Funkcija koja prima varijablu povratnog poziva moći će pozvati funkciju koju pohranjuje.
Izvršenje funkcije
Jednom proslijeđena glavnoj funkciji, funkcija povratnog poziva može se izvršiti. Sljedeći uzorak koda pokazuje: funkcija mainFunction (myNum, callbackFn) {alert (myNum); povratni pozivFn (myNum * 2); }
Za demonstraciju, ovaj kôd prvo prikazuje JavaScript upozorenje zbog kojeg će se dijalog pojaviti u korisnikovom pregledniku. Jednom kada se ovaj kôd izvrši, funkcija poziva funkciju povratnog poziva koristeći ime navedeno kao parametar. Poziv funkcije povratnog poziva uključuje numerički parametar, što očekuje funkcija koja je u početku bila definirana kao varijabla.
Poziv funkcije
Jednom kada stranica ima definiranu funkciju, uključujući povratni poziv, može izvršiti ovaj kôd. Razvojni programeri često nalože pregledniku da presluša korisnički događaj izvršavajući funkcije kad se to dogodi. Na primjer, sljedeći HTML kod poziva funkciju: Ovdje je odjeljak koji može kliknuti
Ako funkcija navedena kao parametar sadrži definiciju varijable povratnog poziva i poziv glavne funkcije, to će stvoriti efekt povratnog poziva, kako slijedi: funkcija doCallback () {var callFn = funkcija (numParam) {upozorenje (numParam); }; mainFunction (10, callFn); }
Jednom kada glavna funkcija izvrši vlastiti sadržaj koda, ona poziva funkciju povratnog poziva.