Wir wissen, dass JavaScript den Typenbetreiber bietet. Am einfachsten ist es, Typen zu verwenden, um festzustellen, ob es vom Typ Zahlen ist.
Die Codekopie lautet wie folgt:
Funktion isNumber (obj) {
Rückgabe typeof obj === 'Nummer' '
}
Diese Funktion hat kein Problem mit Ganzzahlen und Gleitkomma-Zahlen, aber sie kehrt auch für NAN-Wert zurück, was dazu führt, dass die Menschen sich unwohl fühlen. Schließlich wird niemand Nan verwenden, um arithmetische Operationen durchzuführen, nachdem er ISNumber verwendet hat, um zu beurteilen.
Verbessern Sie es dann und versuchen Sie es mit Object.Prototype.toString.
Die Codekopie lautet wie folgt:
Funktion isNumber (obj) {
return object.prototype.toString.call (obj) === '[Objektnummer]' '
}
Wie bei Typeof -Urteilsvermögen kostet es auch für NAN, und die Menge an Code ist immer noch groß, was nicht das gewünschte Ergebnis ist. Die Methode zur toString.call bestimmt, dass das Array (Array) machbar ist, die Zahlen jedoch unerreichbar sind.
Nach weiteren Verbesserungen ist der NAN -Wert zu tun.
Die Codekopie lautet wie folgt:
Funktion isNumber (obj) {
Rückgabe typeof obj === 'nummer' &&! isnan (obj)
}
Wenn die eingehende Nummer diesmal eine Nummer ist (NAN oder ein Wert, der in NAN umgewandelt werden kann), gibt sie false zurück.
Die Codekopie lautet wie folgt:
Funktion isNumber (obj) {
Rückgabe typeof obj === 'nummer' &&! isnan (obj)
}
isNumber (1) // true
isNumber (1.2) // true
isNumber (nan) // false
isNumber (parseInt ('a')) // falsch
Nun, diese Isnumber ist gut, aber es gibt noch ein anderes Äquivalent. Verwenden Sie Isfinite, um zu beurteilen
Die Codekopie lautet wie folgt:
Funktion isNumber (obj) {
Rückgabe typeof obj === 'number' && isfinite (OBJ)
}
Bisher ist das numerische Urteil des kürzesten Code der dritte in diesem Artikel erwähnt, der die ISNAN -Funktion verwendet. Der kürzeste numerische Urteilscode der Welt wird unten gestartet
Die Codekopie lautet wie folgt:
Funktion isNumber (obj) {
return obj === +obj
}
Für Ganzzahlen kehrt die schwimmende Punktzahl wahr und für NAN oder Werte, die in Nan konvertiert werden können, false.
Verstehst du nicht, oder? Gu ~~ ()
Gärtner sagten, dass dies nicht der kürzeste numerische Code der Welt ist, und der Parameter OBJ kann in ein Zeichen geändert werden. (⊙o⊙) Sie haben Recht.
Lernen Sie aus einem Beispiel lernen und das kürzeste Urteilsvermögen wird auch der kürzesten Verwendung von JS -Dynamic Language -Funktionen (interner automatischer Typumwandlung beim Bediener Betrieb) erteilt.
Die Codekopie lautet wie folgt:
// Richter String
Funktion issstring (obj) {
Rückgabe obj === obj+'' '
}
// Richter Boolean Typ
Funktion isBoolean (obj) {
return obj === !! obj
}