Die vorherigen Wörter
Es gibt 46 Operatoren in JavaScript. Zusätzlich zu den arithmetischen Operatoren, relationalen Operatoren, Bitbetreibern und logischen Operatoren gibt es viele Operatoren. In diesem Artikel werden bedingte Operatoren, Comma -Betreiber, Zuordnungsbetreiber, () und void -Operatoren eingeführt
Bedingender Bediener
Der bedingte Operator ist der einzige ternäre Operator (drei Operanden) in JavaScript und wird manchmal direkt als „ternärer Operator“ bezeichnet. Normalerweise wird dieser Bediener als "?:" Geschrieben, natürlich wird er in Code oft nicht abgekürzt, da dieser Betreiber drei Operanden hat, der erste Operand vor "?", Der zweite Operand ist zwischen "?" und ':', und der dritte Operand ist nach ':'
variable = boolean_expression? true_value: false_value;
Dies basiert im Wesentlichen auf dem Ergebnis der Bewertung von boolean_expression, was bestimmt, welchen Wert für die variable Variable. Wenn das Evaluierungsergebnis wahr ist, wird der variablen variablen Variablen true_value zugewiesen. Wenn das Evaluierungsergebnis falsch ist, wird der variablen Variablen FALSE_VALUE_VALUE zugewiesen
Der Operand des bedingten Operators kann von jeder Art sein, der erste Operand wird als Booleschen Wert behandelt, und wenn er wahr ist, wird der zweite Operand berechnet und sein Berechnungsergebnis wird zurückgegeben. Wenn der erste Operand ein falscher Wert ist, wird der dritte Operand berechnet und sein Berechnungsergebnis zurückgegeben. Der zweite und dritte Operanden berechnen immer einen von ihnen, und es ist unmöglich, beide gleichzeitig auszuführen.
Tatsächlich liefert die Verwendung von Anweisungen auch den gleichen Effekt, der '?:', Der Operator nur eine Kurzform bietet. Hier ist ein typisches Anwendungsszenario für '?:', um festzustellen, ob eine Variable definiert ist (und einen aussagekräftigen Wahrheitswert hat), verwenden Sie sie, wenn es eine Definition gibt, und verwenden Sie einen Standardwert, wenn keine Definition vorliegt:
Begrüßung = 'Hallo' + (Benutzername? Benutzername: 'da');
Dies entspricht dem folgenden Code mit der IF -Anweisung, aber offensichtlich ist der obige Code prägnanter:
Begrüßung = 'Hallo'; if (Benutzername) Gruß += Benutzername; sonst Gruß += 'da';
Der ternäre bedingte Expression hat den gleichen Expressionseffekt wie die IF ... sonst, aber es gibt einen signifikanten Unterschied zwischen den beiden. Wenn ... sonst eine Aussage ist und keinen Rückgabewert hat; Der ternäre bedingte Ausdruck ist ein Ausdruck und hat einen Rückgabewert. In Fällen, in denen der Rückgabewert erforderlich ist, können Sie daher nur ternäre bedingte Ausdrücke verwenden, und nicht, wenn ... sonst
console.log (wahr? 't': 'f');
Im obigen Code muss der Parameter der Konsolenlog -Methode ein Ausdruck sein, und es können nur ternäre bedingte Ausdrücke verwendet werden.
Komma -Betreiber
Der Komma -Betreiber ist ein Binärbetreiber, und sein Operand kann von jeder Art sein. Es berechnet zuerst den linken Operanden, berechnet dann den rechten Operanden und gibt schließlich den Wert des rechten Operanden zurück. Verwenden Sie den Komma -Betreiber, um mehrere Operationen in einer Erklärung auszuführen
i = 0, j = 1, k = 2; // Das Berechnungsergebnis beträgt 2, was im Grunde genommen dem Code unter i = 0 äquivalent entspricht; J = 1; K = 2;
Komma -Betreiber werden häufig verwendet, um mehrere Variablen zu deklarieren
var inum1 = 1, Inum = 2, Inum3 = 3;
Das häufigste Szenario für Comma -Betreiber ist in einer für die Schleife, die normalerweise mehrere Schleifenvariablen aufweist:
// Das erste Komma in der für Schleife ist Teil der VAR-Anweisung // Das zweite Komma ist der Komma-Operator // Es gibt zwei Ausdrücke (i ++ und j--) in eine Anweisung für (var i = 0, j = 10; i <j; i ++, j-) {console.log (i+j);}Der Komma -Betreiber kann auch zur Zuordnung verwendet werden, und bei Verwendung zur Zuordnung gibt der Komma -Betreiber immer das letzte Element im Ausdruck zurück.
var num = (1,2,3,4,5); console.log (num); // 5
[Hinweis] Entfernen Sie die Klammern und melden Sie einen Fehler
Zuordnungsbetreiber
Ein einfacher Zuordnungsoperator wird durch das gleiche Vorzeichen '=' dargestellt, der den Wert dem gleichen Vorzeichen der Variablen oder des Attributs links vom gleichen Vorzeichen rechts zuweist.
i = o; ox = 1;
Der '=' Operator erwartet, dass sein linker Operand ein LVALUE ist: ein Variable oder ein Objektattribut (oder ein Array -Element). Der rechte Operand kann jeder Wert jeglicher Art sein. Der Wert des Zuweisungsausdrucks ist der Wert des rechten Operanden
Obwohl Zuordnungsausdrücke normalerweise sehr einfach sind, sehen Sie manchmal immer noch einige komplexe Ausdrücke, die Zuordnungsausdrücke enthalten. Beispielsweise können Sie Zuordnung und relationale Operatoren in einen Ausdruck wie diese einfügen:
(a = b) == 0
Wenn Sie dies tun, sollten Sie den Unterschied zwischen den Operatoren '=' und '==' klar kennen. '=' hat eine sehr niedrige Priorität. Wenn ein Wert einer Zuordnungsanweisung in einem längeren Ausdruck verwendet wird, muss normalerweise Klammern hinzugefügt werden, um die korrekte Reihenfolge der Operationen zu gewährleisten.
Die Bindung des Zuordnungsoperators ist von rechts nach links, dh wenn mehrere Zuordnungsoperatoren in einem Ausdruck erscheinen, ist die Betriebsreihenfolge von rechts nach links. Daher können mehrere Variablen folgendermaßen zugewiesen werden:
i = j = k = 0; // initialisieren Sie drei Variablen auf 0
JavaScript bietet auch 11 Verbindungszuweisungsoperatoren. Diese Verbindungszuweisungsoperatoren sind zuerst angegeben und geben dann den erhaltenen Wert an die Variable links zurück.
[Anmerkung] Der Zweck der Gestaltung dieser Betreiber besteht darin, die Zuordnungsvorgänge zu vereinfachen und sie zu verwenden, und es wird keine Leistungsverbesserungen mit sich bringen.
Total + = sales_tax; // äquivalent zu Total = Total + Sales_tax;
The operator example is equivalent to += a+=ba=a+b-= a-=ba=ab*= a*=ba=a*b/= a/=ba=a/b%= a%=ba=a%b<<= a<<=ba=a<<b>>= a>>=ba=a>>b>>=a>>=a>>>=a>>>b&= a&=ba=a&b|= a | = ba = a | b^= a^= ba = a^b
In den meisten Fällen lautet der Ausdruck:
a op = b
Hier repräsentiert OP einen Operator, und dieser Ausdruck entspricht dem folgenden Ausdruck
a = a op b
In der ersten Zeile wird Expression A einmal berechnet und in der zweiten Zeile wird Expression A zweimal berechnet. Nur wenn A Ausdrücke mit Nebenwirkungen (z. B. Funktionsaufrufe und Zuordnungsoperationen) enthält, sind die beiden Ungleichheit
Daten [i ++]*= 2; Daten [i ++] = Daten [i ++]*2;
Klammerbetreiber
Es gibt zwei Verwendungen des Klammeroperators: Wenn der Ausdruck in Klammern platziert ist, ist die Funktion zu bewerten; Wenn eine Funktion folgt, soll die Funktion die Funktion aufrufen.
Fügen Sie den Ausdruck in Klammern ein und geben Sie den Wert des Ausdrucks zurück
console.log ((1)); //1console.log('a ')); //'a'console.log(1+2)); // 3Das Einlegen des Objekts in Klammern gibt den Wert des Objekts zurück, dh das Objekt selbst
var o = {p: 1}; console.log ((o)); // Objekt {P: 1}Wenn Sie die Funktion in Klammern einsetzen, gibt es die Funktion selbst zurück. Wenn die Klammern der Funktion folgen, bedeutet dies, die Funktion aufzurufen, dh die Bewertung der Funktion
Funktion f () {return 1;} console.log ((f)); // Funktion f () {return 1;} console.log (f ()); // 1Da der Zweck von Klammern darin besteht, zu bewerten, wird ein Fehler gemeldet, wenn die Erklärung in die Klammern platziert wird, da die Anweisung den Wert nicht zurückgibt
console.log (var a = 1); // syntaxError: unerwarteter Token varconsole.log ((var a = 1)); // syntaxError: unerwarteter Token var
Hohlbetreiber
Leere ist ein unärer Operator. Es erscheint vor einem Operanden. Der Operand kann von jedem Typ sein. Der Operand wird wie gewohnt berechnet, aber das Berechnungsergebnis wird ignoriert und undefiniert wird zurückgegeben. Da void den Wert von Operanden ignoriert, verwenden Sie Lücken, wenn Operanden Nebenwirkungen haben, um das Programm semantischer zu gestalten
console.log (void 0); // undefinedConsole.log (void (0)); // undefiniert
【Funktion 1】 UNDEFINED UNDEFINED
Da Undefined kein Schlüsselwort ist, wird es in IE8-Browser und im Rahmen von Funktionen mit höherer Version umgeschrieben. Daher kann undefiniert durch Leere 0 ersetzt werden
var undefined = 10; console.log (undefined); // ie8-it ist 10 unter dem Browser und undefined Function t () {var undefined = 10; console.log (undefiniert);} console.log (t ()); // Es ist 10 unter allen Browsern【Rolle 2】 Client -URL
Dieser Bediener wird am häufigsten in Client -URLs verwendet - JavaScript: URL. Ausdrücke mit Nebenwirkungen können in die URL geschrieben werden, während Void es dem Browser ermöglicht, die Berechnungsergebnisse dieses Ausdrucks anzuzeigen. Zum Beispiel wird der Hohlraumoperator häufig im <a> Tag im HTML -Code verwendet
<a href = "JavaScript: void window.open ();"> Öffnen Sie ein neues Fenster </a>
【Wir bewirken Sie drei】 Block Standard -Ereignisse
Der Weg zum Blockieren des Standard -Ereignisses besteht darin, den Rückgabewert auf False festzulegen.
// Allgemeine Schreibmethode <a href = "http://example.com" onclick = "f (); return false;"> text </a>
Verwenden Sie den Void -Operator, um die obige Schreibmethode zu ersetzen
<a href = "javaScript: void (f ())"> text </a>
In dem obigen Artikel werden JavaScript -Operatoren kurz erläutert - Bedingungen, Kommas, Zuordnung, () und void -Operatoren sind alle Inhalte, die ich mit Ihnen teile. Ich hoffe, Sie können Ihnen eine Referenz geben und ich hoffe, Sie können wulin.com mehr unterstützen.