Was ist der Zweck eines Semikolons vor einem IIFE? [Duplikat]

8

Ich habe mir den Code von has.js angesehen und war verwirrt von der Anfangssemikolon hier:

%Vor%

Soweit ich weiß, tut es absolut nichts. Die Funktion wird nicht in die Ausdrucksposition als () oder ! do: (function(){}()) oder !function(){}() gestellt. Es scheint nur eine Zeile Ender für eine leere Zeile zu sein.

Was ist der Zweck dieses Semikolons? Ein OCD-Wunsch nach Symmetrie zwischen Anfang und Ende des IIFE? :)

    
mwcz 31.07.2013, 19:10
quelle

1 Antwort

22

Es ist da, um zu verhindern, dass vorheriger Code Ihren Code als Argumente für eine Funktion ausführt.

d. h.

%Vor%

führt mybrokenfunction mit Ihrer anonymen Funktion als Argument aus:

%Vor%

Wenn Sie garantieren könnten, dass es vor Ihnen keine nicht abgeschlossene (kein Semikolon) Funktion gibt, können Sie das Start-Semikolon weglassen, aber Sie können nicht, also ist es sicherer, dieses zusätzliche Semikolon einzufügen.

    
Erty Seidohl 31.07.2013, 19:12
quelle

Tags und Links