介绍
数据类型用于在编程语言中分类一个特定的数据类型,例如,数字和字符串是不同的数据类型,JavaScript会对其进行不同的处理。
这很重要,因为您使用的特定数据类型将决定您可以分配给它哪些值,以及您可以对它做些什么,也就是说,要能够在JavaScript中执行变量操作,重要的是了解任何给定变量的数据类型。
在本教程中,我们将讨论如何在JavaScript中工作数据类型以及本地语言中的重要数据类型,这不是对数据类型的全面调查,但将帮助您熟悉JavaScript中可用的选项。
动态打字
JavaScript 有动态数据类型,这意味着类型检查是在运行时进行的,而不是编译时间。
在动态键入语言中,可以使用具有相同名称的变量来存储不同的数据类型。
例如,t
变量,由let
关键字定义为变量(请注意,let
保留给定的变量范围有限),可以分配以持有不同的数据类型,或者可以初始化,但不定义:
1let t = 16; // t is a number
2let t = "Teresa"; // t is a string
3let t = true; // t is a Boolean
4let t; // t is undefined
上面的每个变量t
可以设置为JavaScript中可用的任何数据类型;在使用之前,它们不需要用数据类型明确表示。
数字
JavaScript 只有一种数字类型,没有对整数和浮点数的单独指定,因此,数字可以用 JavaScript 写有或没有十进制:
1let num1 = 93;
2let num2 = 93.00;
在上述两种情况下,数据类型是数字,不论数字是否有十进制点,都是相同的。
科学指数符号可以用JavaScript来缩写非常大的或很小的数字,如下所示:
1let num3 = 987e8; // 98700000000
2let num4 = 987e-8; // 0.00000987
JavaScript 中的數字被認為是準確的,最多為 15 位數,這意味著數字在達到 16 位數後會被圓滿:
1let num5 = 999999999999999; // remains as 999999999999999
2let num6 = 9999999999999999; // rounded up to 10000000000000000
除了表示数字外,JavaScript 号码类型还具有三个可用的象征值:
- 'Infinity' - 代表无限 接近无限 的 数值 - 代表无限 接近无限的 数值 - 代表无限 的 数值 - 代表非数值的 数值 - 代表 not a number
如果您计算在JavaScript中可用的最大可能数之外的数字,则返回无限
或无限
。
1let num7 = 5 / 0; // will return Infinity
2let num8 = -5 / 0; // will return -Infinity
在技术上,无限
会显示,当一个数字超过数字1.797693134862315E+308
,这代表了JavaScript的上限。
同样,无限
会显示当一个数字超过-1.797693134862316E+308
的下限时。
数字无限
也可以用在循环中:
1while (num9 != Infinity) {
2 // Code here will execute through num9 = Infinity
3}
如果您尝试对数字和非数字值执行数学操作,则返回NaN
。
1let x = 20 / "Shark"; // x will be NaN
由于数字20
不能被字符串Shark
分割,因为它不能被评估为一个数字,因此x
变量的返回值是NaN
。
但是,如果一个字符串可以被评估为数值,则可以在JavaScript中执行数学表达式:
1let y = 20 / "5"; // y will be 4
在上面的示例中,由于字符串5
在JavaScript中可以被评估为数值,因此它被视为数值,并将与数学操作员进行分割, /
。
当将值 NaN
分配给操作中使用的变量时,它会产生 NaN
的值,即使另一个操作数是法定数:
1let a = NaN;
2let b = 37;
3let c = a + b; // c will be NaN
在JavaScript中只有一种数字数据类型. 使用数字时,您输入的任何数字都将被解释为数字的数据类型;您不需要声明您正在输入的数据类型,因为JavaScript是动态键入的。
严格
一个 **字符串是由一个或多个字符(字母,数字,符号)组成的序列。
在JavaScript中,字符串存在于单个引文 ' 或双引文
" 中,因此,要创建一个字符串,请在引文中包含一个字符串:
1let singleQuotes = 'This is a string in single quotes.';
1let doubleQuotes = "This is a string in double quotes.";
您可以选择使用单个引文或双引文,但无论您决定什么,您都应该在程序中保持一致。
Hello, World!
程序展示了如何在计算机编程中使用一个字符串,因为下面的alert()
中构成Hello, World!
的字符串是字符串。
1[label hello.html]
2<!DOCTYPE HTML>
3<html>
4<head>
5<script>
6function helloFunction() {
7 alert("Hello, World!");
8}
9</script>
10</head>
11<body>
12<p><button onclick="helloFunction()">Click me</button></p>
13</body>
14</html>
当我们运行代码并点击点击我
按钮时,我们将收到一个带有以下输出的弹出窗口:
1[secondary_label Output]
2Hello, World!
与其他数据类型一样,我们可以将字符串存储为变量:
1let hw = "Hello, World!";
然后在alert()
中显示字符串,调用变量:
1[label hello.html]
2...
3<script>
4let hw = "Hello, World!";
5function helloFunction() {
6 alert(hw);
7}
8</script>
9...
1[secondary_label Output]
2Hello, World!
有许多操作,我们可以执行在我们的程序中的字符串,以便操纵它们,以达到我们正在寻找的结果。
布莱尔
Boolean 数据类型可以是两个值中的一个,即 true 或 false. Boolean 用于表示与数学逻辑分支相关的真理值,该分支为计算机科学中的算法提供信息。
数学中的许多操作给了我们评估为真或假的答案:
- greater than
- 500 > 100
true
- 1 > 5
false
- 500 > 100
- less than
- 200 < 400
true
- 4 < 2
false
- 200 < 400
- equal
- 5 = 5
true
- 500 = 400
false
- 5 = 5
与其他数据类型一样,我们可以在变量中存储一个布尔值:
1let myBool = 5 > 8; // false
由于5不大于8,所以变量myBool
具有false
的值。
随着你在JavaScript中编写更多的程序,你将更加熟悉布尔语的工作方式,以及如何不同的函数和操作评估为真或假可以改变程序的过程。
拉拉斯
一个 array 可以包含单个变量中的多个值,这意味着您可以包含一个数组中的值列表,并通过它们迭代。
数组内部的每个项目或值称为 element. 您可以使用索引号来参考数组中的元素。
正如字符串被定义为引文之间的字符一样,数组被定义为在平方轴之间有值 [ ]
。
例如,一系列的字符串看起来像这样:
1let fish = ["shark", "cuttlefish", "clownfish", "eel"];
如果我们将变量称为鱼
,我们将获得以下输出:
1["shark", "cuttlefish", "clownfish", "eel"]
数组是一个非常灵活的数据类型,因为它们是可变的,因为它们可以添加、删除和更改元素值。
物体
JavaScript object 数据类型可以包含许多值作为 name:value 对,这些对提供了存储和访问数据的有用方法。
通常用于存储相关的数据,例如ID中包含的信息,JavaScript对象字面上看起来像这样,属性之间有白色空间:
1let sammy = {firstName:"Sammy", lastName:"Shark", color:"blue", location:"ocean"};
另一种方法是,特别是对象字母中有大量的名称:值对,我们可以将此数据类型写在多个行上,每个字母后有一个白色空间:
1let sammy = {
2 firstName: "Sammy",
3 lastName: "Shark",
4 color: "blue",
5 location: "Ocean"
6};
上面的每个示例中的对象变量sammy
有4个属性:firstName
,lastName
,color
和location
。
处理多种数据类型
虽然您创建的每个程序都包含多个数据类型,但重要的是要记住,您通常会在相同的数据类型中执行操作,也就是说,您将在数字上执行数学或切割字符串。
当您使用跨数据类型工作的运算器,例如可以添加数字或连接字符串的+
运算器时,您可能会获得意想不到的结果。
例如,当使用数字和字符串的+
运算器时,数字将被视为一个字符串(因此它们将被连接),但数据类型的顺序会影响连接。
因此,如果您创建一个可执行以下连接的变量,JavaScript 将下面的每个元素解释为一个字符串:
1let o = "Ocean" + 5 + 3;
如果您调用o
变量,则将返回以下值:
1[secondary_label Output]
2Ocean53
但是,如果使用数字引导,则将添加两个数字,然后在程序运行时间达到海洋
时将它们解释为字符串,因此返回的值将是与字符串相连的两个数字的总和:
1let p = 5 + 3 + "Ocean";
1[secondary_label Output]
28Ocean
由于这些意想不到的结果,您可能会在一个数据类型内执行操作和方法,而不是在它们之间执行操作。
结论
在此时刻,您应该更好地了解一些主要的数据类型,这些类型可用于JavaScript。
这些数据类型中的每个类型都将变得重要,因为您在JavaScript语言中开发编程项目。