⊗jsPmFCPS 273 of 505 menu

Semikolon zur Sicherheit in IIFE

Nehmen wir an, unsere sofort aufgerufene Funktion beginnt nicht mit einem Pluszeichen, sondern ist in runde Klammern eingeschlossen, so:

(function() { console.log(1); // gibt 1 aus })();

Nehmen wir an, die Variable num wird außerhalb der Funktion definiert:

let num = 1; // Semikolon ist gesetzt (function() { console.log(num); // gibt 1 aus })();

Nehmen wir nun an, wir haben vergessen, das Semikolon zu setzen:

let num = 1 (function() { console.log(num); //!! gibt einen Fehler aus })();

Es stellt sich heraus, dass dieser Code einen Fehler verursacht, da JavaScript unsere Funktion als Fortsetzung des Befehls in der ersten Zeile interpretiert.

Um solche Probleme zu vermeiden, muss vor dem Aufruf einer sofort ausgeführten Funktion immer ein Semikolon gesetzt werden, so:

let num = 1 ;(function() { console.log(num); // gibt 1 aus })();

Es mag scheinen, dass das Problem etwas gekünstelt ist. In Wirklichkeit ist es das nicht. Es kann vorkommen, dass mehrere Skripte aus separaten Dateien auf Ihrer Seite eingebunden werden. In diesem Fall könnte am Ende einer Datei ein Semikolon fehlen, und das führt automatisch zu einem Problem, wenn die zweite Datei mit einem Aufruf einer sofortigen Funktion beginnt.

Setzen Sie daher immer, immer ein Semikolon vor dem Aufruf einer sofortigen Funktion, auch wenn Sie im Moment sicher sind, dass es keine Probleme geben wird. Diese können später auftreten.

Wenden wir das oben Gesagte an und rufen die Funktion sofort auf, indem wir ein Semikolon am Anfang setzen:

;(function() { console.log(1); // gibt 1 aus })();

Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:

let str = 'str'; (function() { console.log(1); })();

Bestimmen Sie, ohne den Code auszuführen, was in der Konsole ausgegeben wird:

let str = 'str' (function() { console.log(1); })();
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