![JavaScript+jQuery网页特效设计任务驱动教程(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/233/53256233/b_53256233.jpg)
1.6 JavaScript的数据类型
微课
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_22_03.jpg?sign=1739686781-FrysemDhSKN8wEqbA6Z3pvxVENB7fVAj-0-0c84d492d4bac76758b448c4bd581361)
JavaScript的数据类型
JavaScript的基本数据类型主要有字符串(String)、数字(Number)、布尔(Boolean)、null、undefined,引用类型主要有数组和对象。
JavaScript拥有动态类型。这意味着相同的变量可用作不同的类型。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_22_04.jpg?sign=1739686781-CiUxUn4UuVr6gcRCqnc7qnNzeZTv2HZJ-0-75b4cd895952fc31eb47c5a05c995f10)
1.字符串
JavaScript的字符串可以是引号中的任意文本,可以使用单引号或双引号。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_22_05.jpg?sign=1739686781-uRva7MyQqDGsaZomwjA1zQm7SAZf3TYw-0-8e71d6e2c21f40b98d5b9dd410d128a2)
2.数字
JavaScript只有一种数字类型,数字可以带小数点,也可以不带。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_22_06.jpg?sign=1739686781-vPWYBP3CHhxHXyU1ShwewXDLAcdl36xp-0-9d7b2e9f2b6a83768908192c383adc21)
较大或较小的数字可以通过科学计数法(指数)来书写。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_22_07.jpg?sign=1739686781-ZsHbpTqN6lpQK9yRpb9gweUoLDt3JyIV-0-02c0232221f271c62b7ebae53f665f9d)
JavaScript不是类型语言,与许多其他编程语言不同,JavaScript不定义不同类型的数字,如整数、短整型、长整型、浮点型等。
JavaScript中的所有数字均为64位,都存储为根为10的64位数字(8比特)。
整数(不使用小数点或指数计数法)的精度最多为15位,小数的最大位数是17位,但是浮点运算并不总是百分之百准确。
如果数字的前缀为0,则JavaScript会把数值常量解释为八进制数,如果数字的前缀为0x,则解释为十六进制数。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_23_01.jpg?sign=1739686781-Q2YArYGKTD7ZV9nXPpV68e4DfCcfUjxc-0-c35214b0bbdc62f11e17c1b7f9fe4d84)
说明
绝不要在数字前面写0,除非需要进行八进制转换。
NaN是JavaScript的全局常量,本意表示某个值不是数值,但其本身却又是数值,且不等于其自身,看下面的代码。
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_23_02.jpg?sign=1739686781-x8dsguYYsW3tFggu1BFNLprpHeQNjRVh-0-a46b529592f77c49b084d391fd4c2a29)
实际上NaN不等于任何东西。要确认是不是NaN只能使用isNaN,如以下代码。
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_23_03.jpg?sign=1739686781-f37MNKVLsucRtS0GtOYLVeHEkK3u74ji-0-d9b2e50251d63c0e33cf8c2353c15f0e)
3.布尔
JavaScript的布尔(逻辑)类型只能有两个值:true或false。布尔类型值常用在条件测试中。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_23_04.jpg?sign=1739686781-KOgNheHo53qXYmP6eOH8LaSEN44TslSv-0-5b38286c20e0d9ca580c0e964f6b565f)
Boolean(逻辑)对象用于将非逻辑值转换为逻辑值(true或者false)。使用关键字new来定义Boolean对象。
下面的代码定义了一个名为myBoolean的逻辑对象。
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_23_05.jpg?sign=1739686781-DmMDQjo3UjQLJPSLR3o9jLgbp7WEtMLq-0-1135e388cb00c1b8a731d051950735a2)
注意
如果逻辑对象无初始值或者其值为0、-0、null、""、false、undefined或者NaN,那么对象的值为false。否则,其值为true(即使当自变量为字符串"false"时)。
4.null
可以通过将变量的值设置为null来清空变量。
例如:
![](https://epubservercos.yuewen.com/14AED9/31727344604040706/epubprivate/OEBPS/Images/58138_23_06.jpg?sign=1739686781-ORcj4FWbafrr8cBBqLgR6v8GlIEbjUwk-0-8c7c2a704af1fc5cce8d12983f5d2292)
5.undefined
undefined表示变量不含有值。