Heim Web-Frontend js-Tutorial Hinweise zum Studium des JavaScript-Datentyps_Javascript-Kenntnisse

Hinweise zum Studium des JavaScript-Datentyps_Javascript-Kenntnisse

May 16, 2016 pm 03:18 PM
javascript 数据类型

Es gibt 5 einfache Datentypen in ECMAscript, auch als Basisdatentypen bekannt: Undefiniert, Null, Boolean, Zahl und String. Es gibt auch einen komplexen Datentyp – Objekt.

Undefinierter Typ

Wenn eine Variable mit var deklariert, aber nicht initialisiert wird, ist der Wert der Variablen undefiniert. Zum Beispiel:

var number;
document.write(number); //undefined
Nach dem Login kopieren

Wenn die Variable nicht deklariert ist, tritt der folgende Fehler auf. Zum Beispiel:

document.write(str); //错误
Nach dem Login kopieren

Aber bei der Ausführung mit typeof wird ein undefinierter Wert zurückgegeben, unabhängig davon, ob er deklariert ist oder nicht. Zum Beispiel:

var num;
document.write(typeof num); //undefined
document.write(typeof str); //undefined
Nach dem Login kopieren

Nulltyp

Wenn typeof zum Erkennen von Null verwendet wird, wird „object“ zurückgegeben. Zum Beispiel:

var num = null;
document.write(typeof num); //object
Nach dem Login kopieren

Tatsächlich wird der undefinierte Wert vom Nullwert abgeleitet, sodass sie true zurückgeben, wenn sie gleich sind. Zum Beispiel:

alert(null == undefined); //true
Nach dem Login kopieren

Hier ist zu beachten, dass, solange die Variable, die das Objekt speichern soll, das Objekt nicht tatsächlich gespeichert hat, der Variablen explizit gestattet werden sollte, den Nullwert zu speichern. Dies hilft bei der Unterscheidung zwischen null und undefiniert. Zum Beispiel:

var num1 = null;
var num2;
document.write(typeof num1 + " " + typeof num2); //object undefined
Nach dem Login kopieren

Boolescher Typ

Um einen Wert in den entsprechenden booleschen Wert umzuwandeln, können Sie die Konvertierungsfunktion Boolean() verwenden. Zum Beispiel:

var str = "helloworld";
document.write(Boolean(str)); //true
Nach dem Login kopieren

Kapitel 3.4.4 im Buch „JavaScript Advanced Programming Design“ enthält eine Tabelle mit verschiedenen Datentypen und ihren entsprechenden Konvertierungsregeln. Es gibt wahrscheinlich folgende Typen:

  • Wenn der Datentyp String ist, wird jede nicht leere Zeichenfolge in true konvertiert;
  • Wenn der Datentyp Zahl ist, außer 0 und NaN, die in „falsch“ konvertiert werden, wird alles andere in „wahr“ konvertiert
  • Wenn der Datentyp Object ist, außer null, wird er in true konvertiert
  • Wenn der Datentyp „Undefiniert“ ist, wird „n/a“ in „wahr“ konvertiert und undefiniert wird in „falsch“ konvertiert
Hier ist zu beachten, dass if-Anweisungen häufig boolesche Konvertierungen verwenden, die Antworten automatisch als Bedingungen ausführen. Zum Beispiel:

var str = "helloworld";
if (str){
  document.write("hellothere");
} //hellothere
Nach dem Login kopieren

Nummerntyp

Ganzzahlen können nicht nur dezimal dargestellt werden, sondern auch durch oktale oder hexadezimale Literalwerte. Das erste Bit des oktalen Literalwerts muss 0 sein, gefolgt von einer Folge oktaler Ziffern (0~7). Zum Beispiel:

var num1 = 070; //八进制的56
var num2 = 032; //八进制的32
var num3 = 079; //错误的八进制(>7)
var num4 = 09; //错误的八进制(>7)
Nach dem Login kopieren
Die ersten beiden Ziffern eines hexadezimalen Literalwerts müssen 0x sein, gefolgt von einer beliebigen hexadezimalen Ziffer (0~9 und A~F). Zum Beispiel:

var num1 = 0xA; //十六进制的10
var num1 = 0xa; //也是十六进制的10(字母不区分大小写)
Nach dem Login kopieren

Gleitkommawert

Hier ist es wichtig zu beachten, dass Sie niemals bestimmte Gleitkommawerte vergleichen sollten. Zum Beispiel:

var a = 0.1;
var b = 0.2;
if (a + b == 0.3){
  document.write("you are right")
} //因为0.1 加上0.2 实际上等于0.30000000000000004
Nach dem Login kopieren

Wertebereich

Die Maximal- und Minimalwerte, die ECMAScript darstellen kann, werden in Number.MAX_VALUE und Number.MIN_VALUE gespeichert. Um festzustellen, ob ein Wert endlich ist, verwenden Sie die Funktion isFinite(). Zum Beispiel:

document.write(isFinite(Number.MAX_VALUE + Number.MAX_VALUE)); //false
Nach dem Login kopieren

NaN

0 geteilt durch 0 ergibt NaN, eine positive Zahl geteilt durch 0 ergibt Unendlich und eine komplexe Zahl ergibt -Unendlich. Zweitens ist NaN keiner Zahl gleich, auch nicht sich selbst. Darüber hinaus kann uns die Funktion isNaN() dabei helfen, festzustellen, ob dieser Parameter „kein numerischer Wert“ ist. Zum Beispiel:

document.write(isNaN("a")); //true;
document.write(isNaN("324")); //false;
document.write(isNaN(true)); //false;
document.write(isNaN(false)); //false;
document.write(isNaN(NaN)); //true;
Nach dem Login kopieren

Numerische Konvertierung

Es gibt drei Funktionen, die nicht numerische Werte in numerische Werte umwandeln können: Number(), parseInt() und parseFloat().

Die Konvertierungsregeln von Number() lauten wie folgt:

Wenn es sich um einen booleschen Wert handelt, werden wahr und falsch in 1 und 0 umgewandelt. Wenn es sich um einen numerischen Wert handelt, bleibt er unverändert.
Wenn es sich um einen Nullwert handelt, wird er in 0 konvertiert.
Wenn es undefiniert ist, wird NaN zurückgegeben.
Wenn es sich um eine Zeichenfolge handelt, befolgen Sie die folgenden Regeln:

  • Wenn es nur Zahlen gibt, konvertieren Sie diese in Dezimalwerte.
  • Wenn es im Gleitkommaformat vorliegt, konvertieren Sie es in den entsprechenden Gleitkommawert. Auch führende Nullen werden ignoriert.
  • Wenn es im Hexadezimalformat vorliegt, wird es in eine Dezimalzahl umgewandelt.
  • Wenn die Zeichenfolge leer ist, wird sie in 0 konvertiert.
  • Andere Fälle werden in NaN konvertiert.
Einzelheiten finden Sie im Beispiel unten:

document.write(Number(true)); //1
document.write(Number(false)); //0
document.write(Number("789")); //789
document.write(Number(null)); //0
document.write(Number(undefined)); //NaN
document.write(Number("02.0942")); //2.0942
document.write(Number(0xa)); //10
document.write(Number("")); //0
document.write(Number("fdsa")); //NaN
Nach dem Login kopieren

parseInt()的转换规则如下:

  • 如果第一个字符不是数字字符或者符号,parseInt()会返回NaN。
  • 用parseInt()转换空字符串会返回NaN。
  • 如果第一个字符是数字字符,它会继续解析第二个字符,直到遇到了一个非数字字符.

下面是具体的例子:

document.write(parseInt("fds")); //NaN
document.write(parseInt("")); //NaN
document.write(parseInt("1111112abc")); //1111112
document.write(parseInt("-1111112abc")); //-1111112
document.write(parseInt("+1111112abc")); //-1111112
document.write(parseInt("0xa")); //10
document.write(parseInt("0022.00009")); //22
document.write(parseInt("070")); //ECMAScript 3认为是56(八进制), ECMAScript 5认为是70(十进制)
Nach dem Login kopieren

另外需要注意的是,ECMAScript 5已经不具备解析八进制值的能力了所以为了消除这个问题,可以为这个函数提供第二个参数:转换时使用的基数(多少进制),具体如下:

document.write(parseInt("070",10)); //70
document.write(parseInt("070",8)); //56
document.write(parseInt("070",16)); //112
Nach dem Login kopieren

多数情况下,最好默认设置成10进制。

parseFloat()的转换规则如下:

  • 与parseInt()类似,不同的是字符串第一个小数点是有效的,而从第二个小数点开始包括第二个小数点是无效的。
  • 他不能解析十六进制数值!!!
  • 他只能解析十进制数值!!!
  • 他没有用第二个基数来指定进制的用法。

下面是具体的例子:

document.write(parseFloat("421")); //421
document.write(parseFloat("0421.32.1")); //421.32
document.write(parseFloat("0xaafd")); //0
document.write(parseFloat("070")); //70
document.write(parseFloat("070abc")); //70
document.write(parseFloat("")); //NaN
document.write(parseFloat("abc")); //NaN
Nach dem Login kopieren

String 类型

要把一个值转换成字符串有两种方式。第一种是使用几乎每个值都有的toString()方法。如下:

document.write((533).toString(10)); //"533"
document.write((0xa).toString(10)); //"10"
document.write((0xa).toString(2)); //"1010"
document.write((true).toString(10)); //"true"
document.write((false).toString(10)); //"false"
Nach dem Login kopieren

另外需要注意的是,null 和 undefined 不能转换。

document.write((null).toString(10)); //
document.write((undefined).toString(10)); //
Nach dem Login kopieren

如果不知道需要转换的数值是否是null 或者undefined 则应该使用转型函数String(),如果是null 会返回"null"如果是undefined 会返回"undefined"。如下:

document.write(String(null)); //"null"
document.write(String(undefined)); //"undefined"
Nach dem Login kopieren

另外在下一篇文章中再详细介绍Object 类型。

以上就是关于JavaScript数据类型的简单介绍,希望对大家学习JavaScript数据类型有所帮助。

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist der beste Datentyp für Geschlechtsfelder in MySQL? Was ist der beste Datentyp für Geschlechtsfelder in MySQL? Mar 15, 2024 am 10:24 AM

In MySQL ist der ENUM-Aufzählungstyp der am besten geeignete Datentyp für Geschlechtsfelder. Der Enumerationstyp ENUM ist ein Datentyp, der die Definition einer Menge möglicher Werte ermöglicht. Das Geschlechtsfeld eignet sich für die Verwendung des ENUM-Typs, da das Geschlecht normalerweise nur zwei Werte hat, nämlich männlich und weiblich. Als Nächstes werde ich anhand spezifischer Codebeispiele zeigen, wie man in MySQL ein Geschlechtsfeld erstellt und den Aufzählungstyp ENUM zum Speichern von Geschlechtsinformationen verwendet. Im Folgenden sind die Schritte aufgeführt: Erstellen Sie zunächst eine Tabelle mit dem Namen „users“ in MySQL, einschließlich

Welcher Datentyp sollte für das Geschlechtsfeld in der MySQL-Datenbank verwendet werden? Welcher Datentyp sollte für das Geschlechtsfeld in der MySQL-Datenbank verwendet werden? Mar 14, 2024 pm 01:21 PM

In einer MySQL-Datenbank können Geschlechtsfelder normalerweise im ENUM-Typ gespeichert werden. ENUM ist ein Aufzählungstyp, der es uns ermöglicht, aus einer Menge vordefinierter Werte einen als Wert eines Feldes auszuwählen. ENUM ist eine gute Wahl, wenn eine feste und begrenzte Option wie das Geschlecht dargestellt wird. Schauen wir uns ein konkretes Codebeispiel an: Angenommen, wir haben eine Tabelle namens „users“, die Benutzerinformationen, einschließlich Geschlecht, enthält. Jetzt wollen wir ein Feld für das Geschlecht erstellen, wir können die Tabellenstruktur so gestalten: CRE

Mindmap der Python-Syntax: Vertiefendes Verständnis der Codestruktur Mindmap der Python-Syntax: Vertiefendes Verständnis der Codestruktur Feb 21, 2024 am 09:00 AM

Python wird aufgrund seiner einfachen und leicht lesbaren Syntax in einer Vielzahl von Bereichen häufig verwendet. Es ist von entscheidender Bedeutung, die Grundstruktur der Python-Syntax zu beherrschen, um sowohl die Programmiereffizienz zu verbessern als auch ein tiefes Verständnis für die Funktionsweise des Codes zu erlangen. Zu diesem Zweck bietet dieser Artikel eine umfassende Mindmap, die verschiedene Aspekte der Python-Syntax detailliert beschreibt. Variablen und Datentypen Variablen sind Container, die zum Speichern von Daten in Python verwendet werden. Die Mindmap zeigt gängige Python-Datentypen, einschließlich Ganzzahlen, Gleitkommazahlen, Zeichenfolgen, boolesche Werte und Listen. Jeder Datentyp hat seine eigenen Eigenschaften und Betriebsmethoden. Operatoren Operatoren werden verwendet, um verschiedene Operationen an Datentypen auszuführen. Die Mindmap deckt die verschiedenen Operatortypen in Python ab, z. B. arithmetische Operatoren und Verhältnisse

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

Python-Einstieg in die Kenntnisse: von Null-Grundlagen bis zur Projektentwicklung Python-Einstieg in die Kenntnisse: von Null-Grundlagen bis zur Projektentwicklung Feb 20, 2024 am 11:42 AM

1. Einführung in Python Python ist eine universelle Programmiersprache, die leicht zu erlernen und leistungsstark ist. Sie wurde 1991 von Guido van Rossum entwickelt. Die Designphilosophie von Python legt Wert auf die Lesbarkeit des Codes und stellt Entwicklern umfangreiche Bibliotheken und Tools zur Verfügung, mit denen sie verschiedene Anwendungen schnell und effizient erstellen können. 2. Grundlegende Syntax von Python Die grundlegende Syntax von Python ähnelt anderen Programmiersprachen, einschließlich Variablen, Datentypen, Operatoren, Kontrollflussanweisungen usw. Variablen werden zum Speichern von Daten verwendet. Operatoren werden zum Ausführen verschiedener Operationen an Daten verwendet. 3.Python-Datentypen in Python

Ausführliche Erklärung zur Verwendung des booleschen Typs in MySQL Ausführliche Erklärung zur Verwendung des booleschen Typs in MySQL Mar 15, 2024 am 11:45 AM

Detaillierte Erläuterung der Verwendung boolescher Typen in MySQL MySQL ist ein häufig verwendetes relationales Datenbankverwaltungssystem. In praktischen Anwendungen ist es häufig erforderlich, boolesche Typen zur Darstellung logischer wahrer und falscher Werte zu verwenden. In MySQL gibt es zwei Darstellungsmethoden vom booleschen Typ: TINYINT(1) und BOOL. In diesem Artikel wird die Verwendung boolescher Typen in MySQL ausführlich vorgestellt, einschließlich der Definition, Zuweisung, Abfrage und Änderung boolescher Typen, und anhand spezifischer Codebeispiele erläutert. 1. Der boolesche Typ ist in MySQL definiert und kann sein

Was ist die beste Datentypauswahl für das Geschlechtsfeld in MySQL? Was ist die beste Datentypauswahl für das Geschlechtsfeld in MySQL? Mar 14, 2024 pm 01:24 PM

Beim Entwerfen von Datenbanktabellen ist die Auswahl des geeigneten Datentyps für die Leistungsoptimierung und Datenspeichereffizienz sehr wichtig. In der MySQL-Datenbank gibt es eigentlich keine sogenannte beste Wahl für den Datentyp zum Speichern des Geschlechtsfelds, da das Geschlechtsfeld im Allgemeinen nur zwei Werte hat: männlich oder weiblich. Aus Gründen der Effizienz und Platzersparnis können wir jedoch einen geeigneten Datentyp zum Speichern des Geschlechtsfelds auswählen. In MySQL ist der Aufzählungstyp der am häufigsten verwendete Datentyp zum Speichern von Geschlechtsfeldern. Ein Aufzählungstyp ist ein Datentyp, der den Wert eines Felds auf einen begrenzten Satz beschränken kann.

Vertieftes Verständnis der Datentypen in der Go-Sprache Vertieftes Verständnis der Datentypen in der Go-Sprache Apr 08, 2024 am 08:15 AM

Die Datentypen der Go-Sprache bestimmen die Datentypen und Operationen, die Variablen speichern können, einschließlich grundlegender Datentypen (Boolesche Werte, Ganzzahlen, Gleitkommazahlen, komplexe Zahlen, Zeichenfolgen, Runen, Bytes) und zusammengesetzte Datentypen (Arrays, Slices, Karten). , Strukturen) Körper, Schnittstelle). Die Go-Sprache unterstützt implizite und explizite Typkonvertierung. Sie können die Syntax typecastedValue:=type(value) für die explizite Konvertierung verwenden.

See all articles