JavaScript-Ausdrücke, Komma in Klammern [dupliziert]

8
%Vor%

Erstellen die Klammern einen einzelnen Ausdruck aus mehreren konstituierenden Ausdrücken?

Ich habe diese Syntax vorher nicht gesehen.

Edit: der ursprüngliche Code, der Interesse geweckt hat:

%Vor%     
Ben 13.08.2014, 07:21
quelle

3 Antworten

7

In einigen Programmiersprachen (einschließlich c ++ und js) steht der Komma-Operator für "Evaluiere alle Ausdrücke, die durch Kommas getrennt sind und gebe das letzte zurück" . Zum Beispiel:

%Vor%

Hier ist ein weiterer, der Ihnen zeigt, dass Ausdrücke ausgewertet werden:

%Vor%

Die Funktion AddWaterMark kann im Wesentlichen wie folgt neu geschrieben werden:

%Vor%     
Nikola Dimitroff 13.08.2014, 07:27
quelle
5

"Erstellt die Klammer einen einzelnen Ausdruck aus mehreren konstituierenden Ausdrücken?"

Nein, es sind die Kommas, die das tun. Der Komma-Operator wertet die Ausdrücke auf beiden Seiten aus und gibt die rechte Seite zurück.

Daher:

%Vor%

Führt die beiden inneren Zuweisungen aus und weist c dann e zu.

    
Alnitak 13.08.2014 07:27
quelle
3

Die anderen Antworten erklärten das Komma sehr gut, und Nikolas Antwort zeigt Ihnen auch, wie der logische Operator && als Alternative zu einer if -Anweisung verwendet wird, aufgrund seiner Kurzschlussbewertung.

p>

Wie für die Klammern - sie ändern nur die Rangfolge der Operatoren, da der Komma-Operator natürlich eine sehr niedrige Priorität hat.

a && b, c wird als (a && b), c interpretiert, d. h. if(a)b;c

a && (b, c) ist if(a){b;c}

    
user3936908 13.08.2014 10:14
quelle

Tags und Links