JavaScript muss nur eine Art von number .
Numbers können mit oder ohne Dezimalstellen geschrieben werden.
JavaScript Zahlen
JavaScript numbers können mit oder ohne Dezimalstellen geschrieben werden:
Beispiel
var x = 34.00; // A number with decimals
var y = 34; // A number without decimals
Extra große oder besonders kleine Zahlen können mit wissenschaftlichen (Exponent) Notation geschrieben werden:
Beispiel
var x = 123e5; // 12300000
var y = 123e-5; // 0.00123
JavaScript Zahlen sind immer 64-Bit Floating Point
Im Gegensatz zu vielen anderen Programmiersprachen nicht definiert JavaScript nicht verschiedene Arten von Zahlen, wie ganze Zahlen sind, kurz, lang, Gleitkommazahlen usw.
JavaScript Zahlen werden immer als doppelter Genauigkeit Gleitkommazahlen gespeichert, nach dem internationalen Standard IEEE 754.
Dieses Format speichert Zahlen in 64 Bits, wobei die Anzahl (der Anteil) in Bits gespeichert ist 0-51, der Exponent in den Bits 52 bis 62, und das Zeichen in Bit 63:
Wert (aka Fraction / Mantissa) | Exponent | Schild |
---|---|---|
52 Bits (0-51) | 11 Bits (52-62) | 1 bit (63) |
Präzision
Die ganzen Zahlen (Zahlen ohne einen Zeitraum oder Exponentialnotation) sind genau bis zu 15 Ziffern betrachtet.
Beispiel
var x = 999999999999999; // x will be 999999999999999
var y = 9999999999999999; // y will be 10000000000000000
Versuch es selber " Die maximale Anzahl der Dezimalstellen ist 17, aber arithmetische Gleitkomma ist nicht zu 100% korrekt:
Um das Problem zu lösen, oben, hilft es, sich zu vermehren und teilen:
Hexadezimal
JavaScript interpretiert numerische Konstanten als hexadezimal, wenn sie von 0x vorangestellt ist.
Schreiben Sie niemals eine Zahl mit einer führenden Null (wie 07).
Einige JavaScript-Versionen interpretieren Zahlen als Oktal, wenn sie geschrieben werden, mit einer Null führen.
Standardmäßig zeigt Javascript Zahlen als Basis 10 Dezimalstellen.
Aber Sie können die Verwendung toString() Methode zur Ausgabe von Zahlen als Basis 16 (hex), Basis - 8 (Oktal) oder Basis 2 (binär).
Beispiel
var myNumber = 128;
myNumber.toString(16); // returns 80
myNumber.toString(8); // returns 200
myNumber.toString(2); // returns 10000000
Versuch es selber " Unendlichkeit
Unendlich (oder -Infinity) ist der Wert JavaScript zurück, wenn Sie eine Nummer außerhalb der größtmögliche Zahl zu berechnen.
Beispiel
var
myNumber = 2;
while (myNumber != Infinity) {
// Execute until Infinity
myNumber = myNumber * myNumber;
}
Versuch es selber " Division durch 0 (Null) erzeugt auch Infinity:
Beispiel
var x = 2 / 0;
// x will be Infinity
var y = -2 / 0;
// y will be -Infinity
Versuch es selber " Unendlichkeit ist eine Zahl: typeOf Unendlichkeit gibt Nummer.
NaN - Not a Number
NaN ist ein reserviertes Wort JavaScript anzeigt , dass ein Wert keine Zahl ist.
Der Versuch , Arithmetik mit einem nicht-numerische Zeichenfolge zu tun in Folge wird NaN (Not a Number):
Wenn jedoch die Zeichenfolge einen numerischen Wert enthält, wird das Ergebnis eine Zahl sein:
Sie können die globale JavaScript - Funktion verwenden isNaN() , um herauszufinden , ob ein Wert eine Zahl ist.
Beispiel
var x = 100 / "Apple";
isNaN(x); // returns true because
x is Not a Number
Versuch es selber " Achten Sie auf NaN. Wenn Sie NaN in einer mathematischen Operation verwenden, wird das Ergebnis auch NaN:
Oder könnte das Ergebnis eine Verkettung sein:
NaN ist eine Zahl, und typeof NaN gibt Nummer:
Zahlen können Objekte sein
Normalerweise werden JavaScript Zahlen primitive Werte von Literalen erstellt: var x = 123
: Aber Zahlen können auch als Objekte mit dem Schlüsselwort neu definiert werden var y = new Number(123)
Beispiel
var x = 123;
var y = new Number(123);
//
typeof x returns number
//
typeof y returns object
Versuch es selber " Nicht Anzahl Objekte erstellen. Es verlangsamt die Ausführungsgeschwindigkeit.
Das new Schlüsselwort kompliziert den Code. Dies kann einige unerwartete Ergebnisse produzieren:
Bei Verwendung == Gleichheits - Operator, sieht die gleiche Anzahl gleich:
Beispiel
var x = 500;
var y = new Number(500);
// (x == y) is true because x and y have equal values
Versuch es selber " Wenn die === Gleichheitsoperator verwenden, sind gleich Zahlen nicht gleich sind, weil der Operator === Gleichheit sowohl in Art und Wert erwartet.
Beispiel
var x = 500;
var y = new Number(500);
// (x === y) is false because x and y have different types
Versuch es selber " Oder noch schlimmer. Objekte können nicht verglichen werden:
Beispiel
var x = new Number(500);
var y = new Number(500);
// (x == y) is false because objects cannot be compared
Versuch es selber " JavaScript-Objekte können nicht verglichen werden.
Testen Sie sich mit Übungen!
Übung 1 » Übung 2» Übung 3 » Übung 4»