Dieser Code in JS gibt mir ein Popup mit der Aufschrift "Ich denke, Null ist eine Zahl", was ich etwas störend finde. Was vermisse ich?
if (isNaN(null)) {
alert("null is not a number");
} else {
alert("i think null is a number");
}
Ich verwende Firefox 3. Ist das ein Browser-Fehler?
Andere Tests:
console.log(null == NaN); // false
console.log(isNaN("text")); // true
console.log(NaN == "text"); // false
Das Problem scheint also kein exakter Vergleich mit NaN zu sein?
Bearbeiten: Nachdem die Frage beantwortet wurde, habe ich meinen Beitrag bereinigt, um eine bessere Version für das Archiv zu erhalten. Dies macht jedoch einige Kommentare und sogar einige Antworten etwas unverständlich. Beschuldigen Sie nicht ihre Autoren. Unter den Dingen, die ich geändert habe, war:
- Es wurde eine Notiz entfernt, die besagt, dass ich die Überschrift an erster Stelle durcheinander gebracht habe, indem ich ihre Bedeutung zurückgesetzt habe
- Frühere Antworten zeigten, dass ich nicht klar genug darlegte, warum ich das Verhalten für seltsam hielt, und fügte daher die Beispiele hinzu, die eine Zeichenfolge überprüfen und einen manuellen Vergleich durchführen.