⊗jsPmFTLE 237 of 505 menu

Израз отляво на функция в JavaScript

Нека разгледаме следния код:

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

Както вече знаете, тази функция е функционален израз, въпреки че има зададено име (вече установихме, че наличието на име изобщо не е критерий). Нека махнем този плюс - и получаваме Function Declaration:

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

Нека поставим + на реда преди функцията - тя отново ще стане Function Expression:

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

А сега след плюса нека поставим число 1 и точка и запетая - нашата функция ще стане Function Declaration:

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

Защо така: защото на първия ред е написана една завършена команда, затворена с точка и запетая. Следователно тази команда не влияе по никакъв начин на нашата функция.

Всъщност точката и запетаята може да се махне, тъй като в JavaScript тя не е задължителна - функцията все пак ще остане Function Declaration:

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

Но ако след 1 се сложи още един плюс, тогава функцията ще стане Function Expression:

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

Защо така: защото на първия ред има незавършен израз - има плюс и след него няма нищо. Следователно интерпретаторът на JavaScript счита, че този плюс се отнася до реда по-долу, тоест до нашата функция.

Ако на първия ред има завършен израз, тогава JavaScript автоматично поставя точка и запетая след него и този израз никак не влияе на нашата функция.

Определете дали представената функция е Function Declaration или Function Expression:

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

Определете дали представената функция е Function Declaration или Function Expression:

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

Определете дали представената функция е Function Declaration или Function Expression:

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

Определете дали представената функция е Function Declaration или Function Expression:

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

Определете дали представената функция е Function Declaration или Function Expression:

-1- function func() { console.log('!'); }
Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне