⊗jsPmFTLE 237 of 505 menu

Funktionsausdrücke links in JavaScript

Betrachten wir den folgenden Code:

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

Wie Sie bereits wissen, ist diese Funktion ein funktionaler Ausdruck, obwohl ihr ein Name gegeben wurde (wir haben bereits festgestellt, dass das Vorhandensein eines Namens überhaupt kein Kriterium ist). Entfernen wir dieses Plus - und wir erhalten Function Declaration:

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

Setzen wir + in der Zeile vor die Funktion - sie wird wieder zum Function Expression:

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

Und jetzt setzen wir nach dem Plus die Zahl 1 und ein Semikolon - unsere Funktion wird zur Function Declaration:

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

Warum ist das so: Weil in der ersten Zeile ein abgeschlossener Befehl steht, der mit einem Semikolon abgeschlossen ist. Daher beeinflusst dieser Befehl in keiner Weise unsere Funktion.

Eigentlich könnte man das Semikolon weglassen, da es in JavaScript nicht obligatorisch ist - die Funktion bleibt trotzdem eine Function Declaration:

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

Wenn man aber nach 1 noch ein weiteres Plus einfügt, wird die Funktion zum Function Expression:

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

Warum ist das so: Weil in der ersten Zeile ein unvollständiger Ausdruck steht - es gibt ein Plus und danach nichts. Daher geht der JavaScript-Interpreter davon aus, dass sich dieses Plus auf die Zeile unten bezieht, also auf unsere Funktion.

Wenn in der ersten Zeile ein abgeschlossener Ausdruck steht, setzt JavaScript automatisch ein Semikolon dahinter und dieser Ausdruck beeinflusst unsere Funktion in keiner Weise.

Bestimmen Sie, ob die dargestellte Funktion Function Declaration oder Function Expression ist:

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

Bestimmen Sie, ob die dargestellte Funktion Function Declaration oder Function Expression ist:

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

Bestimmen Sie, ob die dargestellte Funktion Function Declaration oder Function Expression ist:

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

Bestimmen Sie, ob die dargestellte Funktion Function Declaration oder Function Expression ist:

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

Bestimmen Sie, ob die dargestellte Funktion Function Declaration oder Function Expression ist:

-1- function func() { console.log('!'); }
Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικά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
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen