Heim > Web-Frontend > js-Tutorial > Hauptteil

3 Möglichkeiten, in JavaScript festzustellen, ob eine Variable eine Zahl ist (mit Code)

青灯夜游
Freigeben: 2020-10-30 17:29:55
nach vorne
11287 Leute haben es durchsucht

3 Möglichkeiten, in JavaScript festzustellen, ob eine Variable eine Zahl ist (mit Code)

Empfohlenes Tutorial: „JavaScript-Video-Tutorial

JavaScript ist eine dynamisch typisierte Sprache, was bedeutet, dass der Interpreter die Art der Variablen zur Laufzeit bestimmt. Tatsächlich ermöglicht uns dies auch, dieselbe Variable zu verwenden, um verschiedene Datentypen im selben Code zu speichern. Ohne Dokumentation und Konsistenz kennen wir bei der Arbeit mit Code nicht immer den Typ einer Variablen.

Wenn wir erwarten, dass eine Variable eine Zahl ist, kann die Bearbeitung von Zeichenfolgen oder Arrays zu seltsamen Ergebnissen im Code führen. In diesem Artikel stellen wir einige Funktionen vor, die bestimmen, ob eine Variable eine Zahl ist.

Zahlenfolgen wie "10" sollten nicht akzeptiert werden. In JavaScript sind spezielle Werte wie NaN, Infinity und -Infinity ebenfalls vom numerischen Typ. "10"之类的数字的字符串不应被接受。 在JavaScript中,诸如NaNInfinity-Infinity之类的特殊值也是数字类型的。

根据这些要求,最好使用的函数是内置Number对象中的isFinite()函数。但是,开发人员通常会使用其他函数,如Number.isNaN()typeof()函数。

我们先创建一些变量:

let intVar = 2;
let floatVar = 10.5;
let stringVar = '4';
let nanVar = NaN;
let infinityVar = Infinity;
let nullVar = null;
let undefinedVar = undefined;
Nach dem Login kopieren

使用 Number.isFinite() 函数名

Number.isFinite()函数检查变量是否为数字,还检查其是否为有限值。 因此,对于NaNInfinity-Infinity的数字,它返回false

我们用上面定义的变量来检验一下:

> Number.isFinite(intVar);
true
> Number.isFinite(floatVar);
true
> Number.isFinite(stringVar);
false
> Number.isFinite(nanVar);
false
> Number.isFinite(infinityVar);
false
> Number.isFinite(nullVar);
false
> Number.isFinite(undefined);
false
Nach dem Login kopieren

这正是我们想要的。特殊的非有限数以及非数字类型的任何变量都会被忽略。所以,如果你想检查一个变量是否是一个数字,最好的方法是使用Number.isFinite()函数。

使用 Number.isNaN() 方法

标准Number对象有一个isNaN()方法。它接受一个参数,并确定其值是否为NaN。因为我们想检查一个变量是否是一个数字,所以我们将在检查中使用非操作符!

> !Number.isNaN(intVar);
true
> !Number.isNaN(floatVar);
true
> !Number.isNaN(stringVar);
true # Wrong
> !Number.isNaN(nanVar);
false
> !Number.isNaN(infinityVar);
true # Wrong
> !Number.isNaN(nullVar);
true # Wrong
> !Number.isNaN(undefinedVar);
true # Wrong
Nach dem Login kopieren

这个方法是相当宽松的,因为它接受根本不是数字的值。这种方法最适合于当你知道你有一个数字并且要检查它是否是一个NaN值时,而不是一般的数字检查。

使用 typeof() 方法

typeof()函数是一个全局函数,它接受变量或值作为参数,并返回其类型的字符串表示。JavaScript 总共有9种类型

  • undefined
  • boolean
  • number
  • string
  • bigint
  • symbol
  • object
  • null (typeof() 显示的是 object)
  • function (一种特殊类型的 object)

为了验证变量是否为数字,我们只需要检查typeof()返回的值是否为`"number"。 让我们尝试一下测试变量:

> typeof(intVar) == 'number';
true
> typeof(floatVar) == 'number';
true
> typeof(stringVar) == 'number';
false
> typeof(nanVar) == 'number';
true # Wrong
> typeof(infinityVar) == 'number';
true # Wrong
> typeof(nullVar) == 'number';
false
> typeof(undefined) == 'number';
false
Nach dem Login kopieren

typeof()函数的性能比Number.isNaN()要好得多。它正确地确定了字符串变量nullundefined不是数字。但是,对于NaNInfinity,它返回true

尽管从技术上来说这是正确的结果,但NaNInfinity是特殊的数字值,对于大多数使用情况,我们宁愿忽略它们。

总结

在本文中,我们学习了如何检查JavaScript中的变量是否为数字。 Number.isNaN()函数仅在我们知道变量为数字并且需要验证它是否为NaN`时才适用。

如果代码中有NaNInfinity-Infinity以及其他数字,则    typeof()`函数适用。

Number.isFinite()

Basierend auf diesen Anforderungen ist die Funktion isFinite() im integrierten Number-Objekt die beste zu verwendende Funktion. Entwickler verwenden jedoch häufig andere Funktionen, beispielsweise die Funktionen Number.isNaN() und typeof().

Erstellen wir zunächst einige Variablen:

rrreee


Verwenden Sie den Funktionsnamen Number.isFinite()

Number.isFinite() Die Funktion code> prüft, ob die Variable eine Zahl ist und prüft auch, ob es sich um einen <a href="https://www.php.cn/course.html" target="_blank" textvalue="编程入门">endlichen Wert</a> handelt. Daher wird für Zahlen von <code>NaN, Infinity oder -Infinity false zurückgegeben.

🎜Überprüfen wir es anhand der oben definierten Variablen: 🎜rrreee🎜Das ist genau das, was wir wollen. Spezielle nicht endliche Zahlen und alle Variablen nicht numerischen Typs werden ignoriert. Wenn Sie also überprüfen möchten, ob eine Variable eine Zahl ist, verwenden Sie am besten die Funktion Number.isFinite(). 🎜🎜🎜Verwenden Sie die Methode Number.isNaN() 🎜🎜🎜Das Standardobjekt Number hat ein isNaN() code>Methode. Es akzeptiert einen Parameter und bestimmt, ob sein Wert <code>NaN ist. Da wir prüfen möchten, ob eine Variable eine Zahl ist, verwenden wir bei der Prüfung den Nicht-Operator !. 🎜rrreee🎜Diese Methode ist ziemlich nachsichtig, da sie Werte akzeptiert, die überhaupt keine Zahlen sind. Diese Methode eignet sich am besten, wenn Sie wissen, dass Sie über eine Zahl verfügen und prüfen möchten, ob es sich um einen NaN-Wert handelt, statt eine allgemeine Zahlenprüfung vorzunehmen. 🎜🎜🎜Typof()-Methode verwenden🎜🎜🎜typeof()-Funktion ist eine globale Funktion, die Variablen oder Werte akzeptiert als Parameter und gibt eine String-Darstellung seines Typs zurück. JavaScript hat insgesamt 9-Typen🎜
  • undefiniert
  • boolean
  • Zahl
  • Zeichenfolge
  • bigint
  • symbol
  • object
  • null (typeof() zeigt die object)
  • -Funktion an (ein besonderer Objekttyp)
🎜Um zu überprüfen, ob die Variable eine Zahl ist, müssen wir nur prüfen, ob der von typeof() zurückgegebene Wert „“ ist. Nummer". Versuchen wir es mit einer Testvariablen: 🎜rrreee🎜 Die Funktion typeof() ist viel leistungsfähiger als Number.isNaN(). Es wird korrekt bestimmt, dass die Zeichenfolgenvariablen null und undefiniert keine Zahlen sind. Für NaN und Infinity wird jedoch true zurückgegeben. 🎜🎜Obwohl dies technisch gesehen das richtige Ergebnis ist, sind NaN und Infinity spezielle numerische Werte und für die meisten Anwendungsfälle würden wir sie lieber ignorieren. 🎜🎜🎜Zusammenfassung🎜🎜🎜In diesem Artikel haben wir gelernt, wie man in JavaScript überprüft, ob eine Variable eine Zahl ist. Die Funktion Number.isNaN() ist nur anwendbar, wenn wir wissen, dass die Variable eine Zahl ist und überprüfen müssen, ob sie NaN` ist. 🎜🎜Wenn der Code NaN, Infinity oder -Infinity und andere Zahlen enthält, ist die Funktion „typeof()“ anwendbar. Die Methode 🎜🎜Number.isFinite() erfasst alle endlichen Zahlen und ist für unsere Anforderungen am besten geeignet. 🎜🎜🎜Originaladresse: https://stackabuse.com/javascript-check-if-variable-is-a-number/🎜🎜Autor: Marcus Sanatan 🎜🎜🎜🎜Weitere Programmierkenntnisse finden Sie unter: 🎜Einführung zum Programmieren 🎜! ! 🎜

Das obige ist der detaillierte Inhalt von3 Möglichkeiten, in JavaScript festzustellen, ob eine Variable eine Zahl ist (mit Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
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