Ich denke an zwei Möglichkeiten für den Typ eines Wertes zu testen:
Methode 1:
Sie können die JavaScript-Methode isNaN
verwenden, die bestimmt, ob ein Wert NaN ist oder nicht. Da in Ihrem Fall jedoch ein numerischer Wert in eine Zeichenfolge konvertiert wird, versucht Javascript, den Typ des Werts zu erraten und konvertiert ihn in die Zahl 5, die nicht NaN
ist. Deshalb, wenn Sie das Ergebnis console.log
aus, Sie, dass der Code überrascht sein:
if (isNaN(i)) {
console.log('This is not number');
}
wird nichts zurück. Aus diesem Grund ist eine bessere Alternative wäre die Methode 2.
Methode 2:
Sie können Javascript typeof Methode verwenden, den Typ einer Variablen oder Wert
if (typeof i != "number") {
console.log('This is not number');
}
Hinweis zu testen, dass ich verwende den doppelten Operator, da in diesem Fall der Typ des Wertes eine Zeichenkette ist, aber Javascript intern in Zahl konvertiert wird.
Eine robustere Methode, um den Wert auf den numerischen Typ zu erzwingen, ist die Verwendung von Number.isNaN, die Teil des neuen Vorschlags für Ecmascript 6 (Harmony) ist und daher nicht weit verbreitet und von verschiedenen Anbietern vollständig unterstützt wird.
haben u isNaN versucht? mögliches Duplikat http://stackoverflow.com/questions/175739/is-there-a-built-in-way-in-javascript-to-check-if-a-string-is-a-valid-number – Blacksonic