Die vorherigen Wörter
Die meisten Betreiber in JavaScript werden durch Zeichenzeichen und einige durch Schlüsselwörter dargestellt. Ihre Syntax ist prägnant, aber ihre Zahl ist ziemlich groß. Die Betreiber folgen immer einer festen Syntax. Nur durch das Verständnis und Beherrschen dieser Inhalte können Bediener korrekt verwendet werden. In diesem Artikel wird hauptsächlich den Syntaxüberblick über JavaScript -Operatoren vorgestellt
Anzahl der Operanden
Es gibt 46 Operatoren in JavaScript. Wenn Sie sie gemäß der Anzahl der Operanden klassifizieren, sind die meisten von ihnen Binärbetreiber. Ihre Operanden sind zwei und kombinieren die beiden Ausdrücke zu komplexen Ausdrücken.
1 + 2; true || FALSCH;
Der unäre Operator in JavaScript wandelt einen Ausdruck in einen anderen leicht komplexen Ausdruck um, der hauptsächlich die folgenden 9 enthält:
++ - - + ~! typeof voida ++; typeof true;
JavaScript hat nur einen ternären Operator, der ein bedingter Urteilsbetreiber ist?:, Was drei Ausdrücke zu einem Ausdruck kombiniert
2> 1? 2: 1;
Priorität
Die Priorität des Bedieners kontrolliert die Reihenfolge der Ausführung von Betreibern, und die Ausführung von Betreibern mit hoher Priorität geht immer den Betreibern mit niedrigen Prioritätsbetreibern voraus.
Die 46 Operatoren sind in 14 Prioritätsniveaus unterteilt, von hoch bis niedrig:
++ - - + ~! Löschen Sie typeof void * / % + - << >> >>> <= >> = Instanz in ==!
Aus diesen Prioritätsniveaus der 14-Stufen können wir sehen:
Unary Operator> Arithmetikoperator> Vergleichsbetreiber> Logischer Operator> Tripartitenbetreiber> Zuordnungsbetreiber> Komma -Betreiber
[Anmerkung] Der logische Inversionsoperator gehört zum Unary Operator und hat die höchste Priorität
Beispiel
! 2 <1 && 4*3+1;
Die obige Situation ist komplizierter und zerlegt nach und nach die Betriebsordnung
Berechnen Sie zuerst den Unary Operator!,! 2; // false
// dann wird der Ausdruck falsch <1 && 4*3 + 1;
Berechnen Sie den Arithmetikoperator 4*3+1; // 13
// dann wird der Ausdruck falsch <1 && 13;
Berechnen Sie den Vergleichsoperator <, falsch <1; // true
// dann wird der Ausdruck: wahr && 13; // 13
Klammern können verwendet werden, um die Reihenfolge der Operationen gewaltsam anzugeben
2+3*5; // 17 (2+3)*5; // 25;
Bindung
Die Operatoren haben zwei Arten von Bindungseigenschaften, einer ist von links nach rechts mit der Marke L gebunden, und der andere ist von rechts nach links gebunden, wobei die Bindung die Reihenfolge der Operationen in mehreren Operatorausdrücken mit gleicher Priorität angibt.
Die meisten Operatoren haben eine Kombination von links nach rechts, nur Unary Operatoren, bedingte Operatoren und Zuordnungsoperatoren haben eine Kombination von rechts nach links.
w = x + y + z; // äquivalent zu: w = ((x + y) + z);
w = x = y = z; // äquivalent zu: w = (x = (y = z));
Q = a? B: C? D: E? f: g; // äquivalent zu: q = a? B: (C? D: (E? F: G));
Die Priorität und Bindung von Operatoren bestimmen ihre Operationsreihenfolge in komplexen Ausdrücken, aber wenn Subexpressionen einen gegenseitigen Einfluss haben, ändert sich die Reihenfolge.
Beispiel
a = 1; b = a +++a-- * a ++;
Analysieren Sie zunächst den Ausdruck, und gemäß der Reihenfolge der Priorität werden der Inkrementbetreiber, der Multiplikationsoperator, der Additionsbetreiber und den Zuordnungsbetreiber jeweils berechnet.
Berechnen Sie zuerst das erste A ++; // Das Ergebnis ist 1, a ist 2
// Der Ausdruck wird b = 1+a-- * a ++;
Berechnen Sie a-; // Das Ergebnis ist 2, a ist 1
// Der Ausdruck wird b = 1+2 * a ++;
Berechnen Sie das zweite a ++; // Das Ergebnis ist 1, a ist 2
// Der Ausdruck wird b = 1 + 2 * 1;
Also letztendlich a = 2; B = 3;
a = 1; b = a +++a-- * a ++; console.log (a, b); // 2 3
// ähnlich a = 1; b = a-- * a +++a ++; console.log (a, b); // 2,1
Typ
Einige Betreiber können auf jeden Datentyp einwirken, möchten jedoch, dass ihre Operanden Daten des angegebenen Typs sind, und die meisten Betreiber geben einen Wert eines bestimmten Typs zurück. In der folgenden Bedienungsregeltabelle ist der Pfeil der Typ des Operatoroperanden und der Pfeil ist der Typ des Betriebsergebnisses nach dem Pfeil der Typ des Betriebsergebnisses.
【Lvalue】
Lvalue ist ein alter Begriff, der bedeutet, dass Ausdrücke nur auf der linken Seite des Bedieners erscheinen können.
In JavaScript sind Variablen, Objekteigenschaften und Array -Elemente alle Lvalues
Der Operand-Typ des Inkrementoperators ++, der abnehmende Operator- und zu Zuordnungsbetreibern ist lvalue
var a = 3; a ++; // 33-; // einen Fehler melden ({}). a+= '1'; // 'undefined1''test'-= 'test'; // einen Fehler meldenBedienerregeltabelle
Bediener Betriebstyp ++ Inkrement LVAL-> Num-Dekrement LVAL-> Num-Inverse Num- Logical Nicht-Bool-> Booldelete Löschen-Attribut Lval-> booltypeof Erkennungsart Anywony-> Strvoid Return Undefined Anyty-> undef *********************************************************************************** num->num******************************************************************+ - Add and subtract num, num->num+ String concatenation str, str->str******************************************************<< left shift int, int->int>> signed right shift int, int->int>>> Unsigned Rechte Schicht int, int-> int ************************************************************* str,obj->bool***************************************************************************== Judge equal any,any->bool!= Judge unequal any,any->bool=== Judge the identity any, any->bool!== Judge non-identity any, Any-> bool*********** int->int***************************************************************************************************************************************************************************|| Logik oder irgendetwas, irgendetwas-irgendwelche**************** bool, any, any-> Any*********************** ************** ************** ************** ************** ************** ************** *********************************************************************************************************************************************************************************************
Der obige umfassende Überblick über die Grammatik der JavaScript -Operatoren ist der gesamte Inhalt, den ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.