In JavaScript, um die Grammatik einer Numeric Literal wird wie folgt ausgedrückt:
DecimalIntegerLiteral . DecimalDigitsopt ExponentPartopt
Wie Sie den DecimalDigits
Teil sehen kann, nachdem der Punkt optional (opt Suffix) ist.
var n = 123.;
typeof n; // "number"
Ich würde die isNaN
Funktion nicht empfehlen Zahlen zu erkennen, da Art Zwang einige Dinge seltsam aussehen machen:
isNaN(""); // false, a empty string coerces to zero
isNaN("\n\t"); // false, a white-space string coerces to zero
isNaN(true); // false, boolean true coerces to 1
isNaN(false); // false, boolean false coerces to zero
isNaN(new Date); // false, Date objects coerce to its numeric timestamp
// etc...
isNaN
sollte nur gegen NaN
vergleichen verwendet werden, seit:
NaN == NaN; // false!
IsNaN(NaN); // true
Wenn Sie Number
Objekte, Number
Werte oder "parseable" numerische Zeichenfolgen erkennen wollen, werfen Sie einen Blick auf this function Ich habe vor einiger Zeit gepostet.
Ich verstehe Ihre Frage nicht. Da 123 ** eine Zahl ist, ist das Prädikat "ist ** nicht ** eine Zahl" falsch. Was erwarten Sie? – Gabe
Beachten Sie den Punkt (.) Nach 123 – vivekraman
In Javascript, 123 == 123. == 123.0 – squelart