Ich habe es nur in der JavaScript-Konsole von Firefox versucht, aber keine der folgenden Anweisungen gibt true zurück:
parseFloat('geoff') == NaN;
parseFloat('geoff') == Number.NaN;
Ich habe es nur in der JavaScript-Konsole von Firefox versucht, aber keine der folgenden Anweisungen gibt true zurück:
parseFloat('geoff') == NaN;
parseFloat('geoff') == Number.NaN;
Probieren Sie diesen Code aus:
isNaN(parseFloat("geoff"))
Zur Überprüfung, ob cualquier Wert ist NaN, statt nur Zahlen, siehe hier: Wie testet man auf NaN in Javascript?
Ich bin gerade auf diese Technik in dem Buch Wirksames JavaScript das ist ziemlich einfach:
Da NaN der einzige JavaScript-Wert ist, der als ungleich zu sich selbst behandelt wird, können Sie immer testen, ob ein Wert NaN ist, indem Sie ihn auf Gleichheit mit sich selbst überprüfen:
var a = NaN;
a !== a; // true
var b = "foo";
b !== b; // false
var c = undefined;
c !== c; // false
var d = {};
d !== d; // false
var e = { valueOf: "foo" };
e !== e; // false
Ich habe das erst bemerkt, als @allsyed einen Kommentar abgab, aber das steht in der ECMA-Spezifikation: https://tc39.github.io/ecma262/#sec-isnan-number
Verwenden Sie diesen Code:
isNaN('geoff');
Siehe isNaN()
Dokumente auf MDN .
alert ( isNaN('abcd')); // alerts true
alert ( isNaN('2.0')); // alerts false
alert ( isNaN(2.0)); // alerts false
Soweit ein Wert vom Typ Nummer ist zu prüfen, ob es sich um eine NaN
oder nicht, die globale Funktion isNaN
wird die Arbeit machen
isNaN(any-Number);
Für einen generischen Ansatz, der für alle Typen in JS funktioniert, können wir eine der folgenden Möglichkeiten verwenden:
Für ECMAScript-5-Benutzer:
#1
if(x !== x) {
console.info('x is NaN.');
}
else {
console.info('x is NOT a NaN.');
}
Für Benutzer von ECMAScript-6:
#2
Number.isNaN(x);
Und für Konsistenz Zweck über ECMAScript 5 & 6 beide, können wir auch diese verwenden Polyfill für Number.isNan
#3
//Polyfill from MDN
Number.isNaN = Number.isNaN || function(value) {
return typeof value === "number" && isNaN(value);
}
// Or
Number.isNaN = Number.isNaN || function(value) {
return value !== value;
}
bitte prüfen Diese Antwort für weitere Einzelheiten.
Sie sollten die globale isNaN(value)
Funktionsaufruf, denn:
Beispiele:
isNaN('geoff'); // true
isNaN('3'); // false
Ich hoffe, dies hilft Ihnen.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.