Was machen drei Semikolons in einem Javascript-Ausdruck?

8

Ich habe hier und da ein dreifaches Semikolon in ein paar Ausdrücken gesehen.
Hat es irgendeinen logischen Effekt?

Das Nächste, was ich für eine Erklärung gesehen habe, ist, dass der Kompressor von Dean Edwards diese Linie ignoriert.

%Vor%     
Chase Wilson 16.07.2010, 20:12
quelle

5 Antworten

11

Zeilen, die mit drei Semikolons beginnen, sind für den Debug-Code vorhanden: Sie geben an, dass diese Zeilen nicht in der Produktionsumgebung angezeigt werden sollen. Das Javascript wird durch einen Komprimierer oder einen anderen Algorithmus ausgeführt, der ;;; -Zeilen beim Erstellen der optimierten JS-Datei entfernt.

%Vor%

Wie oben erwähnt, machen drei Semikolons tatsächlich nichts in Javascript: Es beendet nur drei aufeinanderfolgende leere Anweisungen. Wenn ein tatsächlicher Kommentar verwendet wurde

%Vor%

Dann müssten Sie alle Kommentare manuell entfernen und entfernen, wenn Sie in den Debug-Modus wechseln möchten. Die andere Lösung besteht darin, eine Variable DEBUG zu erstellen und alle Debug-Zeilen in eine Bedingung zu schreiben:

%Vor%

Aber das ist ein wenig umständlich und fügt Ihrem Javascript-Dokument tatsächlich unnötigen Code hinzu. Natürlich könnten Sie den JS über einen Komprimierer ausführen, um die DEBUG -Bedingungen zu entfernen, aber an diesem Punkt können Sie auch einfach die Methode ;;; verwenden, die einfacher ist.

Siehe diese Frage für ein Beispiel aus dem echten Leben. BTW, ich denke, die Syntax kommt von emacs .

    
brentonstrine 19.06.2013, 19:26
quelle
25

Es bringt Leute dazu, Fragen zu StackOverflow zu stellen.

Ansonsten tut es nichts.

    
Joey Adams 16.07.2010 20:15
quelle
18

Nichts. Absolut gar nichts.

Drei Semikolons, zehn Semikolons, einhundert Semikolons werden alle zum selben Ergebnis interpretiert: nichts .

    
Jacob Relkin 16.07.2010 20:14
quelle
8

Beendet eine leere Anweisung dreimal.

    
Incognito 16.07.2010 20:15
quelle
1

Sie sind leere Anweisungen und haben keine Wirkung. Es ist möglich, dass der Interpreter oder Compiler sie entfernt, sofern die Syntax keine Anweisung erfordert.

    
ChaosPandion 16.07.2010 20:14
quelle

Tags und Links