Arithmetische Operatoren+ - * / % () Abnormale Situation 1: Operationen mit speziellen Wertliteralen
5/Unendlich=0 5%Unendlich=5 Unendlich%5=NaN Unendlich+5=Unendlich Unendlich / Unendlich = NaN Unendlich – Unendlich = NAN Unendlich % Unendlich = NAN Operationen mit Sonderwerten werden in der Arbeit nicht verwendet und haben keine praktische Anwendungsbedeutung, Sie sollten sie jedoch verstehen, falls Sie in Vorstellungsgesprächen auf sie stoßen. Abnormale Situation 2: Andere Datentypen sind an mathematischen Operationen beteiligt.+-Operation mit Zeichenfolgen (einschließlich des Falls, in dem sich nur auf einer Seite des Symbols Zeichen befinden): Das +-Zeichen wird zu einem Bindestrich, der Vorder- und Rückseite verbindet, um die gesamte Zeichenfolge zu bilden. Zum Beispiel: var a = 3 - "36" % 5 + "2" - 2 konsole.log(a) var b = "36" % 5 console.log(b) var c = 3 - "36" % 5 + "2" console.log(c) Ausgabe:
Implizite Konvertierung: Mit Ausnahme der +-Operation mit Zeichenfolgen konvertiert der Computer in anderen Fällen, wenn alle anderen Datentypen an mathematischen Operationen beteiligt sind, andere Datentypen automatisch in numerische Typen, bevor er an der Operation teilnimmt. In diesem Prozess müssen keine Methoden wie parseInt() und Number() verwendet werden. Der Prozess wird heimlich durchgeführt. Dies ist ein impliziter Konvertierungsprozess. Implizite Konvertierung Andere Datentypen werden implizit in numerische Typen konvertiert:
VergleichsoperatorenWird auch als relationaler Operator bezeichnet. Ein Vergleichsoperator vergleicht seine Operanden und gibt einen booleschen Wert zurück. Das Ergebnis der Operation ist entweder wahr oder falsch.
Abnormaler Fall 1: Spezielle Werte nehmen an Vergleichsoperationen teil
Unendlich == Unendlich -> Wahr Unendlich === Unendlich -> Wahr Unendlich > Unendlich -> Falsch Unendlich >= Unendlich ->Wahr Abnormale Situation 2: Andere Datentypen nehmen an Vergleichsoperationen teil (ausgenommen String-zu-String-Vergleiche)Auch andere Datentypen werden zum Vergleich implizit in Zahlen umgewandelt. „123“→123 wahr→1 falsch→0 null→0 undefiniert→NaN „“→0 „abc“→NaN Die Beurteilung von Null ist etwas Besonderes: Wenn Null und 0 beurteilt werden, ist Gleichheit falsch, >= und <= sind wahr null == undefiniert -> Wahr Abnormale Situation 3: String-zu-String-VergleichEs erfolgt keine implizite Konvertierung in Zahlen, sondern die beiden Zeichenfolgen werden in Unicode-Reihenfolge verglichen. Zeichenkodierungsreihenfolge: von vorne nach hinten 0-9, AZ, az, die vordere ist kleiner als die hintere Beim Vergleichen ist die Länge der beiden Zeichenfolgen nicht wichtig. Der Vergleich beginnt beim ersten Zeichen und wird fortgesetzt, bis die Größe ermittelt ist. Es werden keine weiteren Vergleiche durchgeführt. Logische OperatorenLogische Operatoren werden häufig zwischen Booleschen Werten verwendet; wenn die Operanden beide Boolesche Werte sind, ist der Rückgabewert ebenfalls ein Boolescher Wert.
Abnormale Situation
Regeln für die implizite Konvertierung in Boolesche Werte
Wenn sie auf nicht-boolesche Werte verwendet werden, kann der Rückgabewert ein nicht-boolescher Wert sein. Tatsächlich ist dieser Vorgang sehr einfach:
Logische Operatorreihenfolge der Operation Umfassende Operationsreihenfolge: NICHT, UND, ODER Zuweisungsoperatoren
Unäre Operatoren
Die Symbole ++ oder -- können vor oder nach einer Variablen geschrieben werden. Unterschiedliche Positionen können zu unterschiedlichen Ergebnissen bei der Programmausführung führen. Nehmen wir ++ als Beispiel:
Beispiel 1 var a = 3; var b = a++; var c = ++a; konsole.log(a,b,c) Ausgabe:
Beispiel 2 Ausgabe: OperationsprioritätPriorität von der höchsten zur niedrigsten:
Beispiel var a = 4; var num = 1 * (2 + 3) && a++ || 5 > 6 && 7 < 8 || !9; console.log(Nummer) Ausgabe:
ZusammenfassenDamit ist dieser Artikel mit der Zusammenfassung der fehleranfälligen Operatorberechnungen in JavaScript abgeschlossen. Weitere relevante Inhalte zu JavaScript-Operatorberechnungen finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.18
In diesem Artikelbeispiel wird der spezifische Co...
„Replace“ und „Replace into“ von MySQL sind beide...
Dieser Artikel veranschaulicht anhand von Beispie...
Heute zeige ich Ihnen einen gut aussehenden Zähle...
Von der Entwicklung bis zur Bereitstellung: Mache...
Heute habe ich mir einige Dinge im Zusammenhang m...
Bei der Flugbahnwiedergabe des WeChat-Applets wer...
1. Der Linux-Server konfiguriert /etc/hosts.deny ...
Installieren Sie den NVIDIA-Grafikkartentreiber u...
Zu den MySQL-Variablen zählen Systemvariablen und...
Im vorherigen Blog haben wir über die Verwendung ...
Der Unterschied zwischen Ausführen und Starten in...
Ich habe MySQL vorher nicht sehr oft verwendet un...
Das Wirkungsdiagramm sieht wie folgt aus: <!DO...
var() Einführung und Verwendung Details (MDN) IE ...