Inhaltsverzeichnis
Was passiert, wenn Sie eine Zahl durch Null in JavaScript teilen?
Wie kann man mit Bigint umgehen, geteilt durch Null?
Wie verhindern oder behandeln Sie Division mit Nullfehler in JavaScript?
Warum wird 0 durch 0 in JavaScript Nan geteilt?
Was ist der Unterschied zwischen Nan und Unend in JavaScript?
Wie kann ich überprüfen, ob das Ergebnis in JavaScript Nan ist?
Wie kann ich überprüfen, ob das Ergebnis in JavaScript unendlich ist?
Was bedeutet die Zahl primitiv in JavaScript?
Wie kann man mit großen Zahlen in JavaScript umgehen?
Was ist RangeError in JavaScript?
Heim Web-Frontend js-Tutorial Spaß mit JavaScript -Nummern

Spaß mit JavaScript -Nummern

Feb 24, 2025 am 10:17 AM

Fun with JavaScript Numbers

Schlüsselpunkte

  • Alle Zahlen in JavaScript werden unter Verwendung des Zahlen -Datentyps dargestellt, einschließlich Ganzzahlen, Realzahlen, hexadezimalen Zahlen und wissenschaftlichen Notationszahlen. JavaScript repräsentiert jedoch intern alle Zahlen als IEEE 754 Floating Point -Nummern, was bedeutet, dass die JavaScript -Mathematik nicht 100% genau ist.
  • JavaScript definiert eine Nummer namens Not-A-Number (NAN), um Nicht-Zahlen als Zahlen darzustellen. NAN ist der einzige numerische Wert in JavaScript, der sich nicht selbst entspricht und mit der Funktion isnan () getestet werden kann.
  • JavaScript verfügt über einige Funktionen, wie z. B. signierte Nullen, was zu positiven Nullen (0) und negativen Nullen (-0) führt, die als unterschiedliche Werte gelten, aber die Vergleichsbetreiber von JavaScript können sie nicht unterscheiden. In JavaScript erzeugt die Dividierung durch Null Unendlichkeit und die Dividierung durch negatives Null erzeugt -Infinity.

Datentypen sind ein wichtiger Bestandteil jeder Programmiersprache, und Zahlen sind möglicherweise die wichtigsten Datentypen. Computer sind schließlich wirklich nur teure Taschenrechner. Wie jede wertvolle Programmiersprache unterstützt JavaScript numerische Daten. Aber wie viele andere Aspekte von JavaScript gibt es einige Nuancen in Zahlen, die Sie zu Problemen verursachen können, wenn Sie nicht vorsichtig sind. In diesem Artikel werden numerische Daten und einige seiner Merkmale erörtert. Hinweis: Vor dem Lesen dieses Artikels sollten Sie ein grundlegendes Verständnis der JavaScript -Datentypen haben.

Zahlentyp

In JavaScript werden alle Zahlen durch den Zahlendatentyp dargestellt. Dies schließt Ganzzahlen, reelle Zahlen, hexadezimale Zahlen und Zahlen ein, die durch wissenschaftliche Notation dargestellt werden. Das folgende Beispiel überprüft dies, indem der Typeof -Operator auf verschiedene Zahlen angewendet wird. In diesem Beispiel gibt jede Anwendung von Typof eine Nummer zurück.

typeof(100);
typeof(3.14);
typeof(0xDEADBEEF);
typeof(7.89e2);
Nach dem Login kopieren
Nach dem Login kopieren

Im vorherigen Beispiel befinden sich die Zahlen in verschiedenen Formaten. Innen sind jedoch alle JavaScript -Nummern tatsächlich als IEEE 754 -Schwimmpunktzahlen dargestellt. Dies ist wichtig, da dies bedeutet, dass JavaScript nicht über das Konzept der Ganzzahlen verfügt, obwohl die Sprache die ParseInt () -Funktion hat. Dies bedeutet auch, dass JavaScript -Mathematikoperationen nicht 100% genau sind. Betrachten Sie beispielsweise den folgenden Ausdruck.

(0.1 + 0.2) === 0.3
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie mit schwimmenden Punktzahlen nicht vertraut sind, werden Sie auf jeden Fall erwarten, dass dieser Ausdruck true bewertet wird. Immerhin entspricht 0,1 0,2 0,3. Aufgrund der Funktionsweise der schwimmenden Punktzahlen beträgt ihre Summe jedoch tatsächlich 0,300000000000000000004. Der Unterschied ist gering, aber dies reicht aus, um den gesamten Ausdruck zu bewerten, um sie zu bewerten.

positives Null und negativer Null

Ein weiteres Merkmal des IEEE 754 -Standards ist das signierte Null. Dies führt zu zwei Nullen - positiver Null, 0 und negativer Null, -0. Das mag seltsam erscheinen, aber der Spaß hat gerade erst begonnen. Offensichtlich sind diese beiden unterschiedliche Werte, sonst gibt es nur einen Null. Wenn Sie jedoch einen dieser beiden Nullen zeigen, wird das Symbol gelöscht. Beispielsweise versucht der folgende Code, diese beiden Nullwerte nebeneinander anzuzeigen.

typeof(100);
typeof(3.14);
typeof(0xDEADBEEF);
typeof(7.89e2);
Nach dem Login kopieren
Nach dem Login kopieren

Schlimmer noch, die Vergleichsbetreiber von JavaScript scheinen auch nicht in der Lage zu sein, zwischen den beiden Werten zu unterscheiden, wie im folgenden Beispiel gezeigt.

(0.1 + 0.2) === 0.3
Nach dem Login kopieren
Nach dem Login kopieren

Es gibt eine ziemlich einfache Lösung für dieses Problem. In JavaScript erzeugt die Dividierung durch Zero eine Unendlichkeit. Ebenso erzeugt die Dividierung durch negative Null -Infinity. Um festzustellen, ob eine Zahl gleich -0 ist, müssen wir prüfen, ob sie Null ist, und verwenden Sie sie als Nenner für die Teilung und prüfen Sie, wie unten gezeigt.

alert((+0) + " " + (-0));
// 显示 0 0
Nach dem Login kopieren

nicht-a-number (nan)

JavaScript definiert tatsächlich eine Nummer namens Not-a-Number (NAN). NAN ist ein falscher Wert, der zur Darstellung von Nicht-Zahlen verwendet wird. Dieser Wert ist interessant, weil sein Name selbst die Möglichkeit ausschließt, dass es sich um eine Zahl handelt, aber Typof (NAN) ist eine Zahl. Nan ist auch interessant, weil es der einzige Wert in JavaScript ist, der selbst nicht entspricht. Beispielsweise gibt der folgende Code false zurück.

alert((+0 === -0));
// 显示 true
alert((-0 === +0)); // 显示 true
Nach dem Login kopieren

Sie können NAN mit der Funktion isnan () testen, anstatt den Vergleichsoperator wie unten gezeigt zu verwenden.

function isNegativeZero(x) {
  return (x === 0 && (1/x) === -Infinity);
}
Nach dem Login kopieren

ist jedoch auch isnan () interessant, weil es irreführend sein kann. Wenn Sie einen Wert weitergeben, der auf eine Zahl gegossen werden kann, gibt ISNAN () FALSE zurück. Im folgenden Beispiel wird Isnan () mit mehreren Werten aufgerufen, die offensichtlich nicht numerisch sind. Jeder Anruf gibt jedoch falsche zurück.

alert((NaN === NaN));
// 显示 false
Nach dem Login kopieren

Eine bessere Möglichkeit, die NAN zu überprüfen, besteht darin, die Tatsache zu nutzen, dass es sich nicht entspricht. Die folgende Funktion testet die NAN unter Verwendung strikter Ungleichheit. Diese Funktion gibt nur für den Wert NAN true zurück.

isNaN(1);
// 返回 false
isNaN(NaN);
// 返回 true
Nach dem Login kopieren

Andere lustige Momente

Es gibt einige andere Situationen, die Probleme mit den Zahlen verursachen können. Erstens sollten Sie sich alter Browser bewusst sein, die es globalen Eigenschaften wie Unendlichkeit, NAN und Undefinated als neue Werte ermöglichen. Wenn Sie beispielsweise NAN häufig verwenden, kann der folgende Code viele Probleme verursachen. Glücklicherweise ignorieren moderne Browser Aufgaben für die oben genannten Eigenschaften. Der strenge Modus geht noch einen Schritt weiter und verwandelt diese stillen Fehler in Fehler.

isNaN(true);
isNaN(false);
isNaN("");
isNaN(null);
// 全部返回 false
Nach dem Login kopieren

Ein weiterer interessanter diagnostischer Fehler ergibt sich aus dem Hinzufügen von Zahlen und Zeichenfolgen. Ein Beispiel wird unten angezeigt. In diesem Fall überschreibt die String -Verkettung die Zugabe. Dies führt dazu, dass Foo in die Zeichenfolge "100" umgewandelt wird. Das Endergebnis ist die Zeichenfolge "1001", die sich stark vom erwarteten Wert von 101 unterscheidet. Diese Art von Fehler ist häufiger als Sie denken und tritt häufig beim Lesen der Benutzereingabe auf.

function isNotANumber(x) {
  return x !== x;
}
Nach dem Login kopieren

Schlussfolgerung

In diesem Artikel wird einige der Merkmale von Zahlen in JavaScript erörtert. Hoffentlich verstehen Sie jetzt, wie diese Probleme auftreten und wie Sie sie vermeiden können. Und obwohl Sie möglicherweise nicht oft auf Situationen wie negative Nullen stoßen, sind Sie zumindest jetzt bereit.

Häufig gestellte Fragen zu JavaScript -Nummern (FAQ)

Was passiert, wenn Sie eine Zahl durch Null in JavaScript teilen?

In JavaScript ist das Ergebnis, wenn Sie die Zahl durch Null teilen, unendlich. Dies liegt daran, dass eine durch Null geteilte Zahl mathematisch undefiniert ist, aber JavaScript repräsentiert es als unendlich für praktische Zwecke. Wenn Sie jedoch Null durch Null teilen, ist das Ergebnis NAN (nicht eine Zahl), da diese Operation in der Mathematik ungewiss ist.

Wie kann man mit Bigint umgehen, geteilt durch Null?

Bigint ist ein integriertes Objekt in JavaScript, das eine Möglichkeit bietet, Ganzzahlen zu repräsentieren, die größer als 2^53-1 darstellen, die größte Zahl, die JavaScript mithilfe des Zahlenprimitiven zuverlässig darstellen kann. Wenn Sie versuchen, Bigint durch Null zu teilen, werfen JavaScript ein Rangeerror an, der angibt, dass die Operation ungültig ist.

Wie verhindern oder behandeln Sie Division mit Nullfehler in JavaScript?

Sie können bedingte Anweisungen in JavaScript verwenden, um die Abteilung durch Nullfehler zu verhindern oder zu verarbeiten, indem Sie überprüfen, ob der Nenner vor der Durchführung des Abteilungsvorgangs Null ist. Wenn der Nenner Null ist, können Sie entscheiden, wie Sie damit umgehen, beispielsweise einen bestimmten Wert zurückgeben oder eine Fehlermeldung anzeigen.

Warum wird 0 durch 0 in JavaScript Nan geteilt?

In der Mathematik ist der Ausdruck 0/0 undefiniert, da er keinen expliziten, bestimmten Wert hat. In JavaScript führen undefinierte mathematische Operationen zu NAN (nicht zu einer Nummer). Wenn Sie also Null in JavaScript durch Null teilen, ist das Ergebnis NAN.

Was ist der Unterschied zwischen Nan und Unend in JavaScript?

In JavaScript sind NAN (nicht eine Zahl) und Unendlichkeit spezielle Werte. NAN stellt einen Wert dar, der keine rechtliche Zahl ist, normalerweise aufgrund undefinierter oder unsicherer mathematischer Operationen. Unendlich stellt dagegen eine Zahl dar, die größer als jede mögliche Zahl ist, normalerweise aufgrund der Teile der Zahl durch Null.

Wie kann ich überprüfen, ob das Ergebnis in JavaScript Nan ist?

Sie können die Funktion isnan () in JavaScript verwenden, um zu überprüfen, ob das Ergebnis NAN ist. Wenn der Parameter NAN ist, gibt diese Funktion wahr, sonst falsch.

Wie kann ich überprüfen, ob das Ergebnis in JavaScript unendlich ist?

Sie können die Funktion isFinite () in JavaScript verwenden, um zu überprüfen, ob das Ergebnis eine endliche Nummer ist. Wenn der Parameter positiv oder negativ unendlich ist, gibt diese Funktion falsche, sonst wahr zurück.

Was bedeutet die Zahl primitiv in JavaScript?

Die Zahl primitive in JavaScript wird verwendet, um numerische Werte darzustellen. Es kann Ganzzahlwerte und schwimmende Punktzahlen darstellen. Es kann jedoch nur zuverlässig Zahlen bis zu 2^53-1 darstellen.

Wie kann man mit großen Zahlen in JavaScript umgehen?

Um große Zahlen zu verarbeiten, die das JavaScript Secure Integer -Limit überschreiten, können Sie Bigint -Objekte verwenden. Mit Bigint können Sie Ganzzahlen mehr als 2^53-1 repräsentieren.

Was ist RangeError in JavaScript?

JavaScript wirft einen Rangeerror aus, wenn der Wert nicht innerhalb des erwarteten Bereichs liegt. Der Versuch, Bigint durch Null zu teilen, führt beispielsweise zu einem Dauerror.

Das obige ist der detaillierte Inhalt vonSpaß mit JavaScript -Nummern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1670
14
PHP-Tutorial
1274
29
C#-Tutorial
1256
24
Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Apr 16, 2025 am 12:12 AM

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

Von C/C nach JavaScript: Wie alles funktioniert Von C/C nach JavaScript: Wie alles funktioniert Apr 14, 2025 am 12:05 AM

Die Verschiebung von C/C zu JavaScript erfordert die Anpassung an dynamische Typisierung, Müllsammlung und asynchrone Programmierung. 1) C/C ist eine statisch typisierte Sprache, die eine manuelle Speicherverwaltung erfordert, während JavaScript dynamisch eingegeben und die Müllsammlung automatisch verarbeitet wird. 2) C/C muss in den Maschinencode kompiliert werden, während JavaScript eine interpretierte Sprache ist. 3) JavaScript führt Konzepte wie Verschlüsse, Prototypketten und Versprechen ein, die die Flexibilität und asynchrone Programmierfunktionen verbessern.

JavaScript und das Web: Kernfunktionalität und Anwendungsfälle JavaScript und das Web: Kernfunktionalität und Anwendungsfälle Apr 18, 2025 am 12:19 AM

Zu den Hauptanwendungen von JavaScript in der Webentwicklung gehören die Interaktion der Clients, die Formüberprüfung und die asynchrone Kommunikation. 1) Dynamisches Inhaltsaktualisierung und Benutzerinteraktion durch DOM -Operationen; 2) Die Kundenüberprüfung erfolgt vor dem Einreichung von Daten, um die Benutzererfahrung zu verbessern. 3) Die Aktualisierung der Kommunikation mit dem Server wird durch AJAX -Technologie erreicht.

JavaScript in Aktion: Beispiele und Projekte in realer Welt JavaScript in Aktion: Beispiele und Projekte in realer Welt Apr 19, 2025 am 12:13 AM

Die Anwendung von JavaScript in der realen Welt umfasst Front-End- und Back-End-Entwicklung. 1) Zeigen Sie Front-End-Anwendungen an, indem Sie eine TODO-Listanwendung erstellen, die DOM-Operationen und Ereignisverarbeitung umfasst. 2) Erstellen Sie RESTFUFFUPI über Node.js und express, um Back-End-Anwendungen zu demonstrieren.

Verständnis der JavaScript -Engine: Implementierungsdetails Verständnis der JavaScript -Engine: Implementierungsdetails Apr 17, 2025 am 12:05 AM

Es ist für Entwickler wichtig, zu verstehen, wie die JavaScript -Engine intern funktioniert, da sie effizientere Code schreibt und Leistungs Engpässe und Optimierungsstrategien verstehen kann. 1) Der Workflow der Engine umfasst drei Phasen: Parsen, Kompilieren und Ausführung; 2) Während des Ausführungsprozesses führt die Engine dynamische Optimierung durch, wie z. B. Inline -Cache und versteckte Klassen. 3) Zu Best Practices gehören die Vermeidung globaler Variablen, die Optimierung von Schleifen, die Verwendung von const und lass und die Vermeidung übermäßiger Verwendung von Schließungen.

Python gegen JavaScript: Community, Bibliotheken und Ressourcen Python gegen JavaScript: Community, Bibliotheken und Ressourcen Apr 15, 2025 am 12:16 AM

Python und JavaScript haben ihre eigenen Vor- und Nachteile in Bezug auf Gemeinschaft, Bibliotheken und Ressourcen. 1) Die Python-Community ist freundlich und für Anfänger geeignet, aber die Front-End-Entwicklungsressourcen sind nicht so reich wie JavaScript. 2) Python ist leistungsstark in Bibliotheken für Datenwissenschaft und maschinelles Lernen, während JavaScript in Bibliotheken und Front-End-Entwicklungsbibliotheken und Frameworks besser ist. 3) Beide haben reichhaltige Lernressourcen, aber Python eignet sich zum Beginn der offiziellen Dokumente, während JavaScript mit Mdnwebdocs besser ist. Die Wahl sollte auf Projektbedürfnissen und persönlichen Interessen beruhen.

Python vs. JavaScript: Entwicklungsumgebungen und Tools Python vs. JavaScript: Entwicklungsumgebungen und Tools Apr 26, 2025 am 12:09 AM

Sowohl Python als auch JavaScripts Entscheidungen in Entwicklungsumgebungen sind wichtig. 1) Die Entwicklungsumgebung von Python umfasst Pycharm, Jupyternotebook und Anaconda, die für Datenwissenschaft und schnelles Prototyping geeignet sind. 2) Die Entwicklungsumgebung von JavaScript umfasst Node.JS, VSCODE und WebPack, die für die Entwicklung von Front-End- und Back-End-Entwicklung geeignet sind. Durch die Auswahl der richtigen Tools nach den Projektbedürfnissen kann die Entwicklung der Entwicklung und die Erfolgsquote der Projekte verbessert werden.

Die Rolle von C/C bei JavaScript -Dolmetschern und Compilern Die Rolle von C/C bei JavaScript -Dolmetschern und Compilern Apr 20, 2025 am 12:01 AM

C und C spielen eine wichtige Rolle in der JavaScript -Engine, die hauptsächlich zur Implementierung von Dolmetschern und JIT -Compilern verwendet wird. 1) C wird verwendet, um JavaScript -Quellcode zu analysieren und einen abstrakten Syntaxbaum zu generieren. 2) C ist für die Generierung und Ausführung von Bytecode verantwortlich. 3) C implementiert den JIT-Compiler, optimiert und kompiliert Hot-Spot-Code zur Laufzeit und verbessert die Ausführungseffizienz von JavaScript erheblich.

See all articles