funkce JavaScriptu jsou definovány klíčovým slovemfunction
.
můžete použít deklaraci funkce nebo výraz funkce.
Deklarace Funkce
Dříve v tomto návodu jste se naučili, že funkce jsou deklarovány s následující syntaxí:
// kód, který bude proveden
}
Deklarované funkce nejsou provedeny okamžitě. Jsou „uloženy pro pozdější použití“ a budou provedeny později, když jsou vyvolány (vyzvány).
Příklad
return a * b;
}
Zkuste si to Sami “
Středníky se používají k oddělení spustitelný JavaScript prohlášení.
protože deklarace funkce není spustitelným příkazem, není běžné ji zakončit středníkem.
funkční výrazy
funkci JavaScriptu lze také definovat pomocí výrazu.
funkční výraz lze uložit do proměnné:
příklad
Zkuste si to Sami “
Po výraz funkce byl uložen v proměnné, proměnné mohou být použity jako funkce:
Příklad
var z = x(4, 3);
Zkuste si to Sami “
funkce výše, je vlastně anonymní funkce (funkce bez názvu).
funkce uložené v proměnných nepotřebují názvy funkcí. Vždy se vyvolávají (volají) pomocí názvu proměnné.
výše uvedená funkce končí středníkem, protože je součástí spustitelného příkazu.
Konstruktor funkce ()
jak jste viděli v předchozích příkladech, funkce JavaScriptu jsou definovány klíčovým slovem function
.
funkce lze také definovat pomocí vestavěného konstruktoru funkcí JavaScript s názvem Function()
.
Příklad
var x = mojefunkce(4, 3);
Zkuste si to Sami “
skutečně nemusíte používat funkci konstruktoru. Výše uvedený příklad je stejný jako psaní:
Příklad
var x = mojefunkce(4, 3);
Zkuste to Sami “
Většinu času, se můžete vyhnout pomocí new
klíčové slovo v jazyce JavaScript.
funkce zdvihání
dříve v tomto tutoriálu jste se dozvěděli o „zdvihání“ (zdvihání JavaScriptu).
zdvihání je výchozí chování JavaScriptu při přesunu deklarací na vrchol aktuálního rozsahu.
zdvihání se vztahuje na deklarace proměnných a na deklarace funkcí.
Protože toto, JavaScript funkce může být volána předtím, než jsou deklarované:
funkce mojefunkce(y) {
return y * y;
}
Funkce definované pomocí výrazu nejsou zvedla.
Self-Vyvolání Funkce
Funkce výrazy mohou být „self-vyvolání“.
samovzývající výraz je vyvolán (spuštěn) automaticky, aniž by byl vyvolán.
funkční výrazy se spustí automaticky, pokud je výraz následován ().
nelze vyvolat deklaraci funkce.
musíte přidat do závorek funkce naznačují, že to je výraz funkce:
Příklad
var x = „Hello!!“; // Vyvolá sám
})();
Zkuste si to Sami “
funkce výše, je vlastně anonymní self-vyvolání funkce (funkce bez názvu).
Funkce Mohou Být Použity jako Hodnoty
funkce Javascriptu mohou být použity jako hodnoty:
Příklad
return a * b;
}
var x = mojefunkce(4, 3);
Zkuste si to Sami “
JavaScript funkce mohou být použity ve výrazech:
Příklad
return a * b;
}
var x = mojefunkce(4, 3) * 2;
Zkuste si to Sami “
Funkce jsou Objekty,
typeof
operátor v JavaScript vrátí „funkce“ pro funkce.
ale funkce JavaScriptu lze nejlépe popsat jako objekty.
funkce JavaScriptu mají vlastnosti i metody.
vlastnost arguments.length
vrací počet argumentů přijatých při vyvolání funkce:
Příklad
návrat argumenty.délka;
}
Zkuste si to Sami “
toString()
metoda vrátí funkce jako řetězec:
Příklad
return a * b;
}
var txt = mojefunkce.toString();
Zkuste to Sami “
funkce definovaná jako vlastnost objektu, se nazývá metoda na objekt.
funkce určená k vytváření nových objektů se nazývá Konstruktor objektů.
Arrow Functions
Arrow functions umožňuje krátkou syntaxi pro zápis funkčních výrazů.
nepotřebujete klíčové slovo function
, Klíčové slovo return
a složené závorky.
Příklad
var x = funkce(x, y) {
return x * y;
}
// ES6
const x = (x, y) => x * y;
Zkuste si to Sami “
Šipka funkce nemají vlastní this
.Nejsou vhodné pro definování objektových metod.
funkce šipky nejsou zvednuty. Musí být definovány před jejich použitím.
použití const
je bezpečnější než použití var
, protože funkční výraz má vždy konstantní hodnotu.
Klíčové slovo return
a složené závorky můžete vynechat, pouze pokud je funkce jediným příkazem. Z tohoto důvodu, to může být dobrý zvyk, aby se vždy udržet je:
Příklad
Zkuste to Sami “
Arrow funkce nejsou podporovány v IE11 nebo dříve.