Antwort
NaN
ist ein primitiver Zahlenwert. Genau wie 1
, 2
usw.
NaN ist eine Eigenschaft des globalen Objekts.
Der Anfangswert von NaN ist Not-A-Number - das gleiche wie der Wert von Number.NaN. In modernen Browsern ist NaN eine nicht konfigurierbare nicht beschreibbare Eigenschaft. Auch wenn dies nicht der Fall ist, vermeiden Sie es zu übersteuern.
Es ist eher selten, NaN in einem Programm zu verwenden. Es ist der zurückgegebene Wert , wenn Math-Funktionen fehlschlagen (Math.sqrt (-1)) oder wenn eine Funktion versucht, parse eine Zahl fehlschlägt (parseInt ("blabla")).
Es ist eine primitive. Sie können in einer Reihe von Möglichkeiten prüfen: „Objekt“
typeof NaN
gibt „Nummer“ nichtFügen Sie eine Eigenschaft hinzu, sie verschwindet.
NaN.foo = "hi"; console.log(NaN.foo) // undefined
NaN instanceof Number
gibt falsch (aber wir wissen, es ist eine Zahl, so muss es ein primitiv sein).
Es wäre nicht wirklich sinnvoll für NaN ein Objekt sein, weil Ausdrücke wie 0/0
in NaN
führen müssen, und mathematischen Operationen führen immer in Primitiven. NaN als Objekt zu haben, würde auch bedeuten, dass es nicht als ein falscher Wert fungieren könnte, was es in einigen Fällen tut.
- 1. Was ist Javascript "Objekt"?
- 2. Was ist das C# -Aquivalent von NaN oder IsNumeric?
- 3. Wie erkennt Java, ob eine Position primitiv oder referenziert ist
- 4. Was ist Inf und Nan?
- 5. Was ist {} + {} in JavaScript?
- 6. inf oder Inf? Nan oder NaN?
- 7. JavaScript Objekt Definition Bedingungen - was ist besser?
- 8. Javascript: ist null oder kein Objekt
- 9. Was ist der Unterschied zwischen stillem NaN und NaN?
- 10. Was benötigt weniger Speicher: ein Javascript-Array oder Javascript-Objekt?
- 11. NaN in Mapper - name 'nan' ist nicht
- 12. Was ist $ .expr [":"] in JavaScript oder jQuery?
- 13. JavaScript Total Returns NaN
- 14. javascript gibt NaN in
- 15. Betrag Ergebnis ist NaN
- 16. Was ist Javascript Vorlage vorkompilieren?
- 17. Override entspricht, um gegen Klassentyp oder Primitiv int zu überprüfen
- 18. Javascript prüft auf NaN/null?
- 19. NaN Fehler was ist falsch mit dem Code?
- 20. IE8 Javascript: '2' ist null oder kein Objekt
- 21. Was ist ein Objekt?
- 22. Was ist Objekt-Marshalling?
- 23. Was ist Javascript 'erforderlich'?
- 24. In Java, was bedeutet NaN?
- 25. Java Assert Double ist NaN
- 26. Objective-C: Wie überprüft man, ob eine Variable ein Objekt, eine Struktur oder ein anderes Primitiv ist?
- 27. Was verursacht diesen Fehler? "CALayer position enthält NaN: [240 nan]"
- 28. NaN oder Inf-Arrays Vorbelegung
- 29. Warum ist NaN! = Undefiniert?
- 30. Javascript Objekt Literal: Was genau ist {a, b, c}? unter
NaN ist eine Eigenschaft der Number-Klasse – rsplak
'typeof NaN ==" number "' –
NaN ist wie NULL. Sie können diese verweisen [SO Post] [1] [1]: http://stackoverflow.com/questions/559792/what-is-the-reserved-keyword-for-nan -in-javascript –