⊗jsPmFTLE 237 of 505 menu

Výraz nalevo od funkce v JavaScriptu

Podívejme se na následující kód:

+function func() { console.log('!'); }

Jak již víte, tato funkce je funkcionálním výrazem, navzdory tomu, že má zadáno jméno (již jsme zjistili, že přítomnost jména obecně není kritériem). Odstraníme toto plus - a dostaneme Function Declaration:

function func() { console.log('!'); }

Pojďme umístit + na řádek před funkci - opět se stane Function Expression:

+ function func() { console.log('!'); }

A nyní za plus vložme číslo 1 a středník - naše funkce se stane Function Declaration:

+1; function func() { console.log('!'); }

Proč tomu tak je: protože na prvním řádku je napsán jeden ukončený příkaz, uzavřený středníkem. Proto tento příkaz nijak neovlivňuje naši funkci.

Ve skutečnosti lze středník odstranit, protože v JavaScriptu není povinný - funkce i tak zůstane Function Declaration:

+1 function func() { console.log('!'); }

Ale pokud za 1 přidáme ještě jedno plus, funkce se stane Function Expression:

+1+ function func() { console.log('!'); }

Proč tomu tak je: protože na prvním řádku je neukončený výraz - stojí plus a za ním nic. Proto interpret JavaScriptu usuzuje, že toto plus patří k řádku níže, tedy k naší funkci.

Pokud je na prvním řádku ukončený výraz, pak JavaScript automaticky vloží středník a tento výraz nijak neovlivňuje naši funkci.

Určete, zda je uvedená funkce Function Declaration nebo Function Expression:

- function func() { console.log('!'); }

Určete, zda je uvedená funkce Function Declaration nebo Function Expression:

-1; function func() { console.log('!'); }

Určete, zda je uvedená funkce Function Declaration nebo Function Expression:

-1 function func() { console.log('!'); }

Určete, zda je uvedená funkce Function Declaration nebo Function Expression:

1 function func() { console.log('!'); }

Určete, zda je uvedená funkce Function Declaration nebo Function Expression:

-1- function func() { console.log('!'); }
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout