isNaN-Funktion in nodejs
warum ist die isNaN-Funktion in nodejs Rückkehr false in den folgenden Fällen?
isNaN(''),isNaN('\n'),isNaN('\t')
dies ist sehr seltsam.
nicht jemand irgendwelche Ideen, wie ich dachte isNaN Stand Keine Zahl.
kann jemand bitte klären,
Vielen Dank im Voraus!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weil Sie nicht übergeben werden, eine Anzahl, die er konvertieren wird es an die Nummer. Alle diejenigen, die konvertieren, um
0
die0
und nichtNaN
Beachten Sie, dass
NaN
steht nicht für "kein JavaScript-Zahl". In der Tat ist es völlig getrennt von JavaScript und existiert in allen Sprachen, die Unterstützung der IEEE-754-Fließkommazahlen.Wenn Sie überprüfen wollen, ob etwas eine javascript-Zahl, die Prüfung
NaN
ist eine Javascript-Zahl =>typeof NaN === 'number' // true
NaN ist eine sehr spezifische Sache: es ist eine floating-point-Wert, der über die entsprechenden NaN-flags gesetzt, gemäß dem IEEE754 spec (Wikipedia-Artikel).
Wenn Sie möchten, um zu überprüfen, ob eine Zeichenfolge einen numerischen Wert in ihm, die Sie tun können
parseFloat(str)
(MDN auf parseFloat). Wenn das nicht gelingt, alle gültigen numerischen Inhalt oder ungültigen Zeichen zu finden, bevor zahlen, wird es wieder ein NaN-Wert.So versuchen Sie es zu tun
isNaN(parseFloat(str))
- es gibt mirtrue
für alle drei Beispiele gepostet.isNan()
ist entworfen, um zu helfen, Dinge entdecken, die "mathematisch nicht definiert' - z.B.0/0
-Den anderen Rat, den Sie hier haben, in dieser Frage zu erkennen, die zahlen sind sehr solide.
isNaN ist ein "ist Keine Zahl" - Funktion, die es true zurück, wenn keine Nummer sind, geben Sie als parameter hat, und false, wenn eine Zahl angegeben ist