In mehreren JavaScript-Bibliotheken habe ich diese Notation ganz am Anfang gesehen:
/**
* Library XYZ
*/
;(function () {
// ... and so on
Während ich mit der Syntax "sofort ausgeführte Funktion" vollkommen vertraut bin
(function(){...})()
Ich habe mich gefragt, wofür das führende Semikolon ist. Ich könnte mir nur vorstellen, dass es sich um eine Versicherung handelt. Das heißt, wenn die Bibliothek in anderen fehlerhaften Code eingebettet ist, dient sie als Geschwindigkeitsbegrenzung "Die letzte Anweisung endet hier spätestens".
Hat es noch andere Funktionen?
javascript
syntax
Boldewyn
quelle
quelle
Antworten:
Sie können mehrere JavaScript-Dateien sicher zu einer verketten, um sie schneller als eine HTTP-Anforderung bereitzustellen.
quelle
(function(){...})()(function(){...})()
.Die beste Antwort wurde tatsächlich in der Frage gegeben, deshalb werde ich das hier zur Klarheit nur aufschreiben:
Der Hinweis
;
vor sofort aufgerufenen Funktionsausdrücken dient dazu, Fehler beim Anhängen der Datei während der Verkettung an eine Datei zu vermeiden, die einen Ausdruck enthält, der nicht ordnungsgemäß mit a abgeschlossen wurde;
.Es wird empfohlen, Ihre Ausdrücke mit Semikolons zu beenden, aber auch das führende Semikolon als Schutz zu verwenden.
quelle
"\n"
durch zu ersetzen,";\n"
macht keinen Sinn.Quelle:
JavaScript: The Definitive Guide, 6. Ausgabe
quelle
Dies wird als führendes Semikolon bezeichnet.
Sein Hauptzweck ist es, sich vor vorherigem Code zu schützen, der nicht ordnungsgemäß geschlossen wurde, was zu Problemen führen kann. Ein Semikolon verhindert dies. Wenn der vorhergehende Code nicht ordnungsgemäß geschlossen wurde, korrigiert unser Semikolon dies. Wenn es richtig geschlossen wurde, ist unser Semikolon harmlos und es treten keine Nebenwirkungen auf.
quelle
Eine einzeilige Antwort besteht darin, mehrere JavaScript-Dateien sicher zu verketten. Die Verwendung eines Semikolons wirft kein Problem auf.
Angenommen, Sie haben mehrere Funktionen:
IIFE 1
IIFE 2
Bei der Verkettung kann es so aussehen:
Wenn Sie jedoch vor der Funktion ein Semikolon hinzufügen, sieht es folgendermaßen aus:
Also durch Hinzufügen eines
;
wird also darauf geachtet, dass ein Ausdruck nicht ordnungsgemäß beendet wird.Beispiel 2
Angenommen, Sie haben eine JavaScript-Datei mit einer Variablen:
Eine weitere JavaScript-Datei mit einigen Funktionen:
Jetzt bei der Verkettung wird es so aussehen
Mit einem Semikolon sieht es so aus:
quelle
Es ist gut, wenn Sie JavaScript-Code minimieren. Es verhindert unerwartete Syntaxfehler.
quelle