
1.6 JavaScript的数据类型
微课

JavaScript的数据类型
JavaScript的基本数据类型主要有字符串(String)、数字(Number)、布尔(Boolean)、null、undefined,引用类型主要有数组和对象。
JavaScript拥有动态类型。这意味着相同的变量可用作不同的类型。
例如:

1.字符串
JavaScript的字符串可以是引号中的任意文本,可以使用单引号或双引号。
例如:

2.数字
JavaScript只有一种数字类型,数字可以带小数点,也可以不带。
例如:

较大或较小的数字可以通过科学计数法(指数)来书写。
例如:

JavaScript不是类型语言,与许多其他编程语言不同,JavaScript不定义不同类型的数字,如整数、短整型、长整型、浮点型等。
JavaScript中的所有数字均为64位,都存储为根为10的64位数字(8比特)。
整数(不使用小数点或指数计数法)的精度最多为15位,小数的最大位数是17位,但是浮点运算并不总是百分之百准确。
如果数字的前缀为0,则JavaScript会把数值常量解释为八进制数,如果数字的前缀为0x,则解释为十六进制数。
例如:

说明
绝不要在数字前面写0,除非需要进行八进制转换。
NaN是JavaScript的全局常量,本意表示某个值不是数值,但其本身却又是数值,且不等于其自身,看下面的代码。

实际上NaN不等于任何东西。要确认是不是NaN只能使用isNaN,如以下代码。

3.布尔
JavaScript的布尔(逻辑)类型只能有两个值:true或false。布尔类型值常用在条件测试中。
例如:

Boolean(逻辑)对象用于将非逻辑值转换为逻辑值(true或者false)。使用关键字new来定义Boolean对象。
下面的代码定义了一个名为myBoolean的逻辑对象。

注意
如果逻辑对象无初始值或者其值为0、-0、null、""、false、undefined或者NaN,那么对象的值为false。否则,其值为true(即使当自变量为字符串"false"时)。
4.null
可以通过将变量的值设置为null来清空变量。
例如:

5.undefined
undefined表示变量不含有值。