1. Unäre Operatoren
1. Automatische Inkrementierungs- und Dekrementierungsoperatoren: unterteilt in vorpositionierte und nachpositionierte Typen;
Fronttyp: a;--a;Beitragstyp: a ;a--;
Beispiel:
Und b= j, was j=j 1;b=j;
entspricht
Bei ganzen Zahlen entspricht das Subtrahieren eines Dollars der Bildung einer negativen Zahl.
2. Bit-Operatoren
1. Bitweise NICHT~ (NICHT)
Nein, das heißt, alle Zahlen in binärer Form invertieren.
Allgemeine Verwendung: Die bitweise Operation NOT besteht im Wesentlichen darin, eine Zahl zu negieren und dann 1 zu subtrahieren
2. Bitweises ODER | (ODER)
Oder führen Sie eine bitweise ODER-Operation für alle Zahlen und die Zielzahl in binärer Form durch.
Allgemeine Verwendung: Wird normalerweise für die bedingungslose Zuweisung von Binärzahlen verwendet. Beispiel: Eine Zahl |1 entspricht der Ermittlung der ungeraden Zahl, die der aktuellen Zahl am nächsten kommt.
3. Bitweises UND (UND)
Und das heißt, führen Sie eine bitweise UND-Operation für alle Zahlen und die Zielzahl in binärer Form durch.
Allgemeine Verwendung: Wird normalerweise für binäre Bitabnahmeoperationen verwendet, zum Beispiel: Eine Zahl &1, wenn das Ergebnis 0 ist, ist es eine gerade Zahl, wenn es 1 ist, ist es eine ungerade Zahl.
4. Bitweises XOR^ (XOR)
XOR, das heißt, alle Zahlen werden mit der Zielzahl in binärer Form verglichen, wenn also nur eine Ziffer eine 1 speichert, wird 1 zurückgegeben. Wenn die beiden Zahlen gleich sind, wird 0 zurückgegeben wird zurückgegeben
Allgemeine Verwendung: Die umgekehrte Operation der XOR-Operation ist sie selbst, dh das Endergebnis der zweimaligen XOR-Verknüpfung derselben Zahl bleibt unverändert. Kann für einfache Verschlüsselung oder interaktive numerische Operationen verwendet werden.
5. Nach links bewegen<<
Nach links verschieben, d. h. alle Zahlen um die entsprechende Anzahl von Stellen in Binärform nach links verschieben, die hohen Bits herausschieben (verwerfen) und die leeren Bits der niedrigen Bits mit Nullen auffüllen. Eine Linksverschiebung hat keinen Einfluss auf das Vorzeichenbit.
Mathematische Bedeutung: Solange die Zahl nicht überläuft, entspricht bei positiven und negativen Zahlen das Verschieben um eine Position nach links einer Multiplikation mit 2 hoch 1, und das Verschieben um n Bits nach links entspricht Multiplikation mit 2 hoch n.
6. Nach rechts bewegen
6.1 Rechtsverschiebung mit Vorzeichen>>: Alle Werte in Binärform nach rechts verschieben, aber das Vorzeichenbit beibehalten.
Mathematische Bedeutung: Solange die Zahl nicht überläuft, entspricht bei positiven und negativen Zahlen das Verschieben um eine Position nach rechts einer Division durch 2 hoch 1, und das Verschieben nach rechts um n Bits entspricht Division durch 2 hoch n.
6.2 Rechtsverschiebung ohne Vorzeichen>>>: Das heißt, alle Werte, einschließlich des Vorzeichenbits, werden in binärer Form nach rechts verschoben.
Bei positiven Zahlen sind die Ergebnisse von >> gleich;
Da bei negativen Zahlen negative Zahlen in der Komplementform ihres Absolutwerts dargestellt werden, ist das Ergebnis der vorzeichenlosen Rechtsverschiebung sehr groß.
3. Boolesche Operatoren
1. Logische Verneinung!
Logik ist nutzlos! Gibt an, dass es auf jeden Werttyp in ECMAScript angewendet werden kann. Die logische NOT-Operation gibt einen booleschen Wert (wahr/falsch) zurück. Dieser Operator wandelt seinen Operanden zunächst in einen booleschen Wert um und negiert ihn dann.
Eine Reihe von Regeln für die Boolean()-Transformationsfunktion.
Datentyp In wahren Wert umwandeln. In falschen Wert umwandeln
Boolescher Wert wahr falsch
String Jeder nicht leere String „“(leerer String)
Zahl Jeder numerische Wert ungleich Null (einschließlich Unendlich) 0 und NaN
Objekt jedes Objekt null
Undefiniert Keine undefiniert
Logisches UND hat zwei Operanden.
Logische UND-Verknüpfungen können auf jede Art von Operanden angewendet werden, nicht nur auf boolesche Werte. Für den Fall, dass einer der Operanden kein boolescher Wert ist, gibt die logische UND-Operation in diesem Fall nicht unbedingt einen booleschen Wert zurück, sondern folgt den folgenden Regeln:
1. Wenn der erste Operand ein Objekt ist, geben Sie den zweiten Operanden zurück;
2. Wenn der zweite Operand ein Objekt ist, wird das Objekt nur zurückgegeben, wenn das Auswertungsergebnis des ersten Operanden wahr ist;
3. Wenn beide Operatoren Objekte sind, geben Sie den zweiten Operanden zurück. Befolgen Sie die erste Regel.
4. Wenn einer der Operanden null ist, geben Sie null zurück;
5. Wenn einer der Operanden NaN ist, geben Sie NaN zurück;
6. Wenn einer der Operanden undefiniert ist, geben Sie undefiniert zurück.
Die logische UND-Verknüpfung ist eine Kurzschlussoperation. Das heißt, wenn der erste Operand das Ergebnis bestimmen kann, wird der zweite Operand nicht ausgewertet. (Kann als zwei interne Rückgabevorgänge verstanden werden). Daher ist bei Konflikten zwischen den Regeln 4, 5 und 6 das Prinzip des Kurzschlussbetriebs zu befolgen.
Der Code lautet wie folgt:
3. Logisches ODER||
Logisches ODER hat zwei Operanden.
Logisches ODER ähnelt logischem UND darin, dass die Operation auf jede Art von Operanden angewendet werden kann, nicht nur auf boolesche Werte. Für den Fall, dass einer der Operanden kein boolescher Wert ist, gibt die logische ODER-Operation in diesem Fall nicht unbedingt einen booleschen Wert zurück, sondern folgt den folgenden Regeln:
1. Wenn der erste Operand ein Objekt ist, geben Sie den ersten Operanden zurück;
2. Wenn das Ergebnis des ersten Operanden falsch ist, geben Sie den zweiten Operanden zurück;
3. Wenn beide Operatoren Objekte sind, wird gemäß der ersten Regel der erste Operand zurückgegeben.
4. Wenn beide Operanden null sind, geben Sie null zurück;
5. Wenn beide Operanden NaN sind, geben Sie NaN zurück;
6. Wenn beide Operanden undefiniert sind, geben Sie undefiniert zurück.
Die logische ODER-Verknüpfung ist eine Kurzschlussoperation. Das heißt, wenn das Ergebnis des ersten Operanden wahr ist, wird der zweite Operand nicht erneut ausgewertet.
Wir können diese Funktion des logischen ODER verwenden, um die Zuweisung von Null- oder undefinierten Werten an Variablen zu vermeiden
Zum Beispiel: var myObject=firstObject||secondObject
Wenn firstObject nicht null ist, wird firstObject myObject zugewiesen, andernfalls wird der Wert von secondObject myObject zugewiesen.
Der gesamte oben genannte Inhalt ist in diesem Artikel enthalten, ich hoffe, er kann für alle hilfreich sein