Výraz na ľavej strane funkcie v JavaScripte
Pozrime sa na nasledujúci kód:
javascript+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:
javascriptfunction func() {
console.log('!');
}
Dajme + na riadok pred
funkciou - opäť sa stane Function Expression:
javascript+
function func() {
console.log('!');
}
A teraz za plus vložme číslo 1
a bodkočiarku - naša funkcia sa stane Function
Declaration:
javascript+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:
javascript+1
function func() {
console.log('!');
}
Ale ak za 1 pridáme ešte jedno
plus, funkcia sa stane Function Expression:
javascript+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:
javascript-
function func() {
console.log('!');
}
Určite, či je predložená funkcia Function Declaration alebo Function Expression:
javascript-1;
function func() {
console.log('!');
}
Určite, či je predložená funkcia Function Declaration alebo Function Expression:
javascript-1
function func() {
console.log('!');
}
Určite, či je predložená funkcia Function Declaration alebo Function Expression:
javascript1
function func() {
console.log('!');
}
Určite, či je predložená funkcia Function Declaration alebo Function Expression:
javascript-1-
function func() {
console.log('!');
}