Výraz na ľavej strane funkcie v JavaScripte
Pozrime sa na nasledujúci kód:
+function func() {
console.log('!');
}
Ako už viete, táto funkcia je funkčným výrazom, napriek tomu, že má zadané meno (už sme zistili, že prítomnosť mena vôbec nie je kritériom). Odstránme toto plus - a dostaneme Function Declaration:
function func() {
console.log('!');
}
Dajme + na riadok pred
funkciou - opäť sa stane Function Expression:
+
function func() {
console.log('!');
}
A teraz za plus vložme číslo 1
a bodkočiarku - naša funkcia sa stane Function
Declaration:
+1;
function func() {
console.log('!');
}
Prečo je to tak: pretože na prvom riadku je napísaný jeden ukončený príkaz, uzavretý bodkočiarkou. Preto tento príkaz nijako neovplyvňuje našu funkciu.
V skutočnosti je možné bodkočiarku odstrániť, veď v JavaScripte nie je povinná - funkcia aj tak zostane Function Declaration:
+1
function func() {
console.log('!');
}
Ale ak za 1 pridáme ešte jedno
plus, funkcia sa stane Function Expression:
+1+
function func() {
console.log('!');
}
Prečo je to tak: pretože na prvom riadku je neukončený výraz - je tam plus a po ňom nič. Preto interpret JavaScriptu usudzuje, že toto plus patrí k riadku nižšie, teda k našej funkcii.
Ak je na prvom riadku ukončený výraz, JavaScript automaticky vloží pred neho bodkočiarku a tento výraz nijako neovplyvňuje našu funkciu.
Určite, či je predložená funkcia Function Declaration alebo Function Expression:
-
function func() {
console.log('!');
}
Určite, či je predložená funkcia Function Declaration alebo Function Expression:
-1;
function func() {
console.log('!');
}
Určite, či je predložená funkcia Function Declaration alebo Function Expression:
-1
function func() {
console.log('!');
}
Určite, či je predložená funkcia Function Declaration alebo Function Expression:
1
function func() {
console.log('!');
}
Určite, či je predložená funkcia Function Declaration alebo Function Expression:
-1-
function func() {
console.log('!');
}