Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyAlgoritmizace a programování Programování v JavaScriptu - II Funkce Anonymní funkce

Logo Matematická biologie

Anonymní funkce

Anonymní funkce je funkce, která je definovaná nebo volaná bez identifikátoru (nemá jméno). Existují dva elegantní způsoby využití anonymní funkce. Můžete vložit anonymní funkce do jiných funkcí jako parametr, nebo můžete definovat anonymní funkci a spustit ji ihned.

V případě že budeme vkládat anonymní funkce jako parametry funkcí, nazýváme tyto anonomní funkce callback. Níže následuje příklad funkce, která přijímá dvě funkce jako parametry, provede je, a vrátí součet toho, co každá z nich vrátí:

function jedna() {return 1;}
function dva() {return 2;}
function secti(jedna, dva){return jedna () + dva ();}

Další příklad bude provádět ten samý výpočet, jen místo pojmenovaných funkcí použijeme anonymní funkce jako parametr. Místo definování funkce jedna() a dva() můžeme klidně udělat:

secti(function(){return 1;}, function(){return 2;})

Anonymní funkci dále můžeme využít v případě, že ji chceme ihned zavolat. Provede se to tak, že za definici funkce přidáme dvojici závorek () čímž funkci ihned po její definici spustíme, viz příklad:

function(){alert(”AHOJ“);}();

Důvodem proč volat anonymní funkci ihned po jejím vytvoření je, že nemusíte vytvářet globální proměnné.

Anonymní funkce se také může použít jako návratová hodnota při volání funkce. Jak víme, funkce vždy vrací nějakou hodnotu. Pokud není hodnota kterou má funkce vrátit stanovena, tak vrátí prvek undefined. Nic nám však nebrání v tom, aby jsme jako návratovou hodnotu z funkce vrátili anonymní funkci, viz příklad:

function a() {
    alert("A");
    return function() {
          alert("B");
    }
}


a()(); // vypíše A B

 
vytvořil Institut biostatistiky a analýz Masarykovy univerzity | | zpětné odkazy | validní XHTML 1.0 Strict