Volání funkce na místě v JavaScriptu
Nyní si rozebereme postup, který umožňuje zavolat funkci přímo na místě jejího deklarování. Tato konstrukce se nazývá Immediately Invoked Function Expression (IIFE).
Podívejme se na příklad. Předpokládejme, že máme takovýto funkční výraz:
let func = function() {
console.log('!');
};
func(); // vypíše '!'
Nyní funkci nepřiřadíme do proměnné, ale zavoláme ji okamžitě, "na místě". K tomu za funkci vložíme kulaté závorky:
+function() {
console.log('!'); // vypíše '!'
}();
Přítomnost plusa je v tomto případě nezbytná proto, že bez něj by se funkce stala Function Declaration, a ty nelze na místě (navíc bez jména) volat. Samozřejmě, místo plusa může být cokoliv, - hlavní je, aby naše funkce byla funkčním výrazem.
Určete, bez spuštění kódu, co se vypíše do konzole:
!function() {
console.log('!');
}();
Určete, bez spuštění kódu, co se vypíše do konzole:
function() {
console.log('!');
}();