Heim > Web-Frontend > js-Tutorial > Hauptteil

Die einfachste Implementierungsmethode zur Bestimmung des Ganzzahltyps in JavaScript

PHPz
Freigeben: 2018-09-30 13:38:17
Original
1483 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die einfachste Implementierungsmethode zur Beurteilung von Ganzzahltypen vorgestellt. Dieses Kapitel stellt mehrere Methoden zur Beurteilung von Ganzzahlen vor und fasst schließlich die kürzeste und prägnanteste Implementierungsmethode zusammen, auf die sich Freunde beziehen können.

Wir wissen, dass JavaScript den Operator „typeof“ bereitstellt. Daher ist es am einfachsten, mit „typeof“ zu bestimmen, ob es sich um einen Zahlentyp handelt.

function isNumber(obj) {
    return typeof obj === 'number'
}
Nach dem Login kopieren

Diese Funktion hat kein Problem mit Ganzzahlen und Gleitkommazahlen, gibt aber auch für NaN-Werte true zurück, was den Leuten ein Unbehagen bereitet. Schließlich wird niemand NaN verwenden, um nach der Verwendung arithmetische Operationen durchzuführen isNumber zu beurteilen.

Dann verbessern Sie es und versuchen Sie es mit Object.prototype.toString.

function isNumber(obj) {
    return Object.prototype.toString.call(obj) === '[object Number]'
}
Nach dem Login kopieren

Wie bei der Art der Beurteilung gibt es auch für NaN „true“ zurück. Die Codemenge ist immer noch groß, was nicht das gewünschte Ergebnis ist. Die toString.call-Methode eignet sich zur Beurteilung von Arrays (Array), Zahlen übersteigen jedoch ihre Möglichkeiten.

Als weitere Verbesserung können Sie die isNaN-Funktion verwenden, um mit NaN-Werten umzugehen.

function isNumber(obj) {
    return typeof obj === 'number' && !isNaN(obj)
}
Nach dem Login kopieren

Wenn die Eingabe diesmal keine Zahl ist (NaN oder ein Wert, der in NaN konvertiert werden kann), wird false zurückgegeben

function isNumber(obj) {
    return typeof obj === 'number' && !isNaN(obj)
}
isNumber(1)   // true
isNumber(1.2) // true
isNumber(NaN) // false
isNumber( parseInt('a') ) // false
Nach dem Login kopieren

Nun, das istNumber ist gut, aber nicht. Es gibt eine äquivalente Methode, die isFinite zur Beurteilung verwendet

function isNumber(obj) {
    return typeof obj === 'number' && isFinite(obj)    
}
Nach dem Login kopieren

Bisher ist die numerische Beurteilung des kürzesten Codes die dritte in diesem Artikel erwähnte Methode, die die isNaN-Funktion verwendet . Das Folgende ist eine großartige Einführung des weltweit kürzesten Zahlenbeurteilungscodes

function isNumber(obj) {
    return obj === +obj
}
Nach dem Login kopieren

Gibt true für Ganzzahlen und Gleitkommazahlen zurück und false für NaN oder Werte, die in NaN konvertiert werden können.

Sie verstehen nicht? Gu~~(╯﹏╰)

Gartenfreunde sagten, dass dies nicht der kürzeste numerische Code der Welt sei und der Parameter obj in ein Zeichen geändert werden könne. (⊙o⊙) Du hast recht.

In Analogie dazu gibt es eine ähnlich kürzeste Beurteilung unter Verwendung der dynamischen Sprachfunktionen von JS (automatische interne Typkonvertierung während der Bedieneroperation).

// 判断字符串
function isString(obj) {
    return obj === obj+''
}
// 判断布尔类型
function isBoolean(obj) {
    return obj === !!obj
}
Nach dem Login kopieren

Das Obige ist der gesamte Inhalt dieses Kapitels. Weitere verwandte Tutorials finden Sie unter JavaScript-Video-Tutorial!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage