Unary Operator
Ein Bediener, der nur einen Wert betreiben kann, wird als unärer Operator bezeichnet.
Der UNIARY -Operator ist der einfachste Operator in ECMascript.
1. Inkrementierung und verringern die Operatoren
Die Inkrement- und Verringerungsbetreiber liehen direkt von C aus, und jeweils hat zwei Versionen: den Pre-Typ und den Post-Typ. Gu mingsi sagte, dass der Vorab-Typ der zu bedienenden Variablen weichen sollte, während die nach dem Betrieb von Variablen zu betriebenen Variablen folgen sollte.
Vordertyp:
var num1 = 1; var num2 = 2; var num3 = ++ num1 +num2; // 4
Hecktyp:
var num1 = 1; var num2 = 2; var num3 = num1 +++ num2; // 3
Die beiden oben genannten Codes haben unterschiedliche Ergebnisse, da es einen sehr wichtigen Unterschied zwischen der Nachinklementation und der Vorinkremente und Abnahme gibt, dh nach der Inkrementierung und Verringerung der Operationen werden durchgeführt, nachdem die Aussage, die sie enthält, bewertet wurde.
Anwendungsbereich:
Vorinkrement und nach der Inkremente Alle vier Betreiber gelten für einen beliebigen Wert. Bei Anwendung auf verschiedene Werte konvertiert dieser Bediener den Wert wie die Number () -Transformationsfunktion und fügt 1 nach der Konvertierung hinzu und subtrahiert und subtrahiert.
2. Einweg-Additions- und Subtraktionsoperatoren
Der Unary Addition and Subtraction Operator wird hauptsächlich für grundlegende arithmetische Operationen verwendet und kann auch zum Umwandeln von Datentypen verwendet werden (der Bediener konvertiert diesen Wert wie die Number () -Transformationsfunktion).
Boolescher Betreiber
Es gibt drei Boolesche Betreiber: nicht (nicht) und (und) oder (oder).
1. logisch nicht logisch
Der logische Nichtbetrieb wird durch einen Ausrufezeichen dargestellt (!) Und kann auf einen beliebigen Wert in ECMascript angewendet werden. Unabhängig vom Datentyp, den dieser Wert ist, gibt dieser Bediener einen booleschen Wert zurück.
Die gleichzeitige Verwendung von zwei logischen Nichtoperatoren simuliert tatsächlich das Verhalten der boolean () -Transformationsfunktion
2. Logik und
Logik und Operatoren werden durch zwei Summen (&&) dargestellt, und es gibt zwei Operanden und können auf jede Art von Operanden angewendet werden. Logik- und Kurzschlussbetrieb, dh wenn der erste Operand als Falsch bewertet wird, wird der zweite Operand nicht bewertet.
Wenn beide Werte wahr sind, ist das Ergebnis wahr. Wenn zwei Werte wahr und falsch sind, ist das Ergebnis falsch. Gibt false zurück, wenn beide Werte falsch sind.
Wenn einer der Werte kein Boolescher ist: Befolgen Sie die folgenden Regeln
Der erste Operand ist falsch und der erste wird zurückgegeben.
Wenn der erste Operand wahr ist, wird der zweite zurückgegeben.
Wenn der erste Operand ein Objekt ist, wird der zweite Operand zurückgegeben
var a = {b: 1}; a && 'ss' // "ss"Wenn der zweite Operand ein Objekt ist, wird das Objekt nur zurückgegeben, wenn das Bewertungsergebnis des ersten Operanden wahr ist
'SS' && a // Objekt {b: 1}Wenn beide Operanden Objekte sind, wird der zweite Operand zurückgegeben
var c = {d: 2}; c && a // Objekt {b: 1}(1) Wenn ein Operand null ist, geben Sie NULL zurück
(2) Wenn es einen Operand gibt, der Nan ist, wird Nan zurückgegeben
(3) Wenn ein Operand undefiniert ist, kehren Sie undefiniert zurück
3. logisch oder
Ähnlich wie Logik und Operatoren sind Logik oder Operatoren auch Kurzschlussbetreiber. Das heißt, wenn das Evaluierungsergebnis des ersten Operanden wahr ist, wird die Bewertung des zweiten Operanden nicht durchgeführt.
(1) Der erste Operand ist wahr, geben Sie den ersten zurück
(2) Der erste Operand ist falsch, geben Sie den zweiten zurück
Multiplikationsbetreiber
ECMAScript definiert 3 Multiplikationsbetreiber: Multiplikation, Abteilung und Modular
Infinity*0 // Nan0/0 // Naninfinity/Infinity // Nan
Additivbetreiber
1. Addition (Drehzeichenfolge)
Beide Operatoren sind numerische Werte
Führen Sie regelmäßige Additionsberechnungen durch.
Infinity + -Infinity // Nan
Wenn ein Operand eine Zeichenfolge ist
Wenn beide Bediener Strings sind, wird der zweite Operator mit dem ersten Bediener gespleißt
Wenn nur ein Bediener eine Zeichenfolge ist, konvertieren Sie den anderen Operanden in eine Schnur und spleifen Sie die beiden Zeichenfolgen zusammen.
Wenn dieser Operand ein numerisches oder boolescher Objekt ist, rufen Sie die Methode toString () auf, um den entsprechenden Zeichenfolgenwert zu erhalten, und wenden Sie dann die vorherigen Regeln über Zeichenfolgen an. Für NULL und UNDEFINED wird die Sting () -Funktion aufgerufen und die Zeichenfolgen "undefiniert" und "Null" werden jeweils erhalten.
2 + '' // "2"
2. Subtraktion (Rückgabe zum Wert)
Wenn beide Operanden numerisch sind
Führen Sie einen regelmäßigen arithmetischen Subtraktionsvorgang durch und geben Sie das Ergebnis zurück. Wenn ein Operand NAN ist, ist das Ergebnis NAN
Infinity - Infinity // Nan
Wenn es einen Operand gibt, der kein numerischer Wert ist
Wenn ein Operand eine Zeichenfolge ist, eine Boolesche, Null oder undefinierte, wird die Funktion nummer () im Hintergrund aufgerufen, um sie in einen numerischen Wert umzuwandeln und dann die Subtraktionsberechnung gemäß den vorherigen Regeln durchzuführen. Wenn das Ergebnis der Umwandlung NAN ist, ist das Ergebnis der Subtraktion NAN.
Wenn ein Operand ein Objekt ist, wird die ValueOF () -Methode des Objekts aufgerufen, um den Wert zu erhalten, der das Objekt darstellt. Wenn der erhaltene Wert NAN ist, ist das Ergebnis der Subtraktion NAN. Wenn das Objekt keine ValueOF () -Methode hat, wird seine Methode toString () aufgerufen und die resultierende Zeichenfolge in einen numerischen Wert konvertiert.
5 - Richtig // 4
Relationale Operatoren
Wenn beide Operanden numerische Werte sind, führen Sie einen numerischen Vergleich durch
Wenn beide Operanden Strings sind, vergleichen Sie die Charakter -Codierungswerte, die den beiden Zeichenfolgen entsprechen
Wenn ein Operand ein numerischer Wert ist, konvertieren Sie einen anderen Operanden in einen numerischen Wert und führen Sie einen numerischen Vergleich durch
var result = '23' <'3' // truevar result = '23' <3 // false
Gleicher Bediener
1. Gleich und ungleich
Zuerst konvertieren und dann vergleichen
(1) Wenn ein Operand ein boolescher Wert ist, konvertieren Sie ihn in einen numerischen Wert, bevor Sie die Gleichheit vergleichen
(2) Wenn es einen Operand gibt, der eine Zeichenfolge ist und ein anderer Operand ein numerischer Wert ist, konvertieren Sie ihn zuerst in einen numerischen Wert
(3) Wenn ein Operand ein Objekt ist und der andere nicht ist, wird die ValueOF () -Methode des Objekts aufgerufen und der erhaltene Grundtypwert nach den vorherigen Grundregeln verglichen.
Null und undefiniert sind gleich
Sie können Null nicht konvertieren und vor dem Vergleich der Gleichheit in einen anderen Wert undefiniert sind
Wenn beide Operanden NAN sind, gibt der gleiche Operator auch false zurück. Nach der Regel ist Nan NAN nicht gleich
2. kongruent und unvollständig
Nur vergleichen, nicht konvertieren
"55"! == 55 // true
Bedingender Bediener
variable = boolean_expression? true_value: false_value
Im Wesentlichen besteht die Bedeutung dieses Codes darin, zu bestimmen, welcher Wert für die variable Variable basierend auf dem Ergebnis der Bewertung der boolean_expression. Wenn das Evaluierungsergebnis wahr ist, weisen Sie der Variablen True_Value zu. Wenn das Evaluierungsergebnis falsch ist, weisen Sie der variablen Variablen FALSE_VALUE zu.
Bediener zuweisen
Ein einfacher Zuordnungsoperator wird durch ein gleiches Zeichen dargestellt, und seine Funktion besteht darin, den Wert auf der rechten Seite der Variablen links zuzuweisen.
Komma -Betreiber
Der Komma -Betreiber wird hauptsächlich verwendet, um mehrere Variablen zu deklarieren. Darüber hinaus wird der Komma -Bediener auch zum Zuweisen von Werten verwendet. Bei der Verwendung zur Zuordnung gibt der Komma -Betreiber immer das letzte Element im Ausdruck zurück.