Heim >Web-Frontend >js-Tutorial >Was sind die subtilen Unterschiede zwischen „parseInt()' und „Number()' in JavaScript?

Was sind die subtilen Unterschiede zwischen „parseInt()' und „Number()' in JavaScript?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-16 07:27:03897Durchsuche

What are the Subtle Differences Between `parseInt()` and `Number()` in JavaScript?

Untersuchung der subtilen Unterscheidung zwischen parseInt() und Number() in JavaScript

Beim Konvertieren von Zeichenfolgen in Zahlen in JavaScript wird die Ähnlichkeit zwischen den Die Funktionen parseInt() und Number() können zu Verwirrung führen. Obwohl sie diesen Kernzweck teilen, weisen sie semantische Unterschiede auf, die eine weitere Untersuchung erfordern.

parseInt(): Die Parsing-Funktion

Im Gegensatz zu Number(), das den Typ ausführt Bei der Konvertierung dient parseInt() in erster Linie als Parsing-Funktion. Diese Unterscheidung bedeutet, dass parseInt() versucht, die Zeichenfolge als numerische Darstellung zu interpretieren und dabei alle nachfolgenden Zeichen ignoriert, die nicht mit der angegebenen Basis übereinstimmen (Standard: Dezimalzahl).

Number(): Der Typ Konvertierungskonstruktor

Im Gegensatz dazu ruft Number() den Number-Konstruktor auf, der sich wie eine Funktion verhält, wenn er ohne das New aufgerufen wird Schlüsselwort. Diese Funktion führt eine Typkonvertierung durch und wandelt verschiedene Werte (einschließlich Zeichenfolgen) in numerische Äquivalente um. Im Gegensatz zu parseInt() ignoriert Number() nachfolgende Zeichen nicht und kann die Exponentialschreibweise interpretieren.

Explizite vs. implizite Oktalinterpretation

Interessanterweise tut Number() dies nicht automatisch erkennt implizite Oktalnotation (z. B. „010“), kann aber auch explizite Notationen verarbeiten Die Oktalfunktion lautet „0o10“. Die Funktion „parseInt()“ wird verwendet隐式八进制表示法解释为八进制数字,除非显式指定十进制基数(z. B. "010",10)。

Unterstützung für hexadezimale Notation

Sowohl parseInt() als auch Number() unterstützen die hexadezimale Notation und interpretieren Zeichenfolgen wie „0xF“ korrekt als ganze Zahlen.

Unärer Operator für numerischen Typ Konvertierung

值得注意的是,一元运算符也可以用来进行数字类型转换,与使用Number()构造函数作为函数的效果相同.然而, 它更简洁, 不需要显式调用Number()函数.

Das obige ist der detaillierte Inhalt vonWas sind die subtilen Unterschiede zwischen „parseInt()' und „Number()' in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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