JavaScript的数据类型分为两类:原始类型(primitive type)和对象类型(object type)。
JavaScript的原始类型(primitive type)共有5种:Boolean,Number,String,Undefined,Null。
1.Boolean
布尔类型或称为逻辑类型,表示真或假两种状态。只有两种字面量:true和false。
2.Number
数值类型,表示32位整数或64位浮点数。
整数可使用3种进制表示,除十进制之外,还可以使用八进制或十六进制。如果数字以0作为前缀,则说明它是八进制数,如果数字以0x作为前缀,则说明它是十六进制数。如下代码说明这一点:
浮点数必须包含小数点和小数点后的至少一位数字。对于非常大或非常小的浮点数,可以使用科学计数法表示。
此外,Number类型包含了几个特殊的值,作为Number类型的静态属性,见表1.1。
表1.1 特殊的Number类型的值
3.String
表示Unicode字符的序列。它是唯一没有固定大小的原始类型。可以用字符串存储0个或更多的Unicode字符,字符在内存中由16位整数表示。字符串中每个字符都有特定的位置,首字符从位置0开始,第二个字符在位置1,依次类推。这意味着字符串中的最后一个字符的位置一定是字符串的长度减1,如图1.7所示。
图1.7 字符串的字符序列(www.xing528.com)
字符串字面量是由双引号(")或单引号(')声明的,由于ECMAScript没有字符类型,所以可使用这两种表示法中的任何一种。例如,下面的两行代码都有效:
String类型还包括几种特殊字符字面量,JavaScript的特殊字符的字面量见表1.2。
表1.2 特殊字符的字面量
4.Undefined
表示未初始化的变量的类型。这种类型只有一个值:undefined。请看如下代码:
变量oTemp未初始化,它的类型为Undefined,被赋予Undefined类型的唯一的值undefined。
5.Null
表示不存在的对象的类型。这种类型只有一个值:null。一般在要表示的对象不存在时,用null表示。值undefined实际上是从null派生而来,所以JavaScript将二者定义为相等的。如下代码说明这一点:
6.对象类型
JavaScript中除了数字、字符串、布尔值、null和undefined之外的就是对象了。对象(object)是特性(attribute)的集合,每个特性都由“名/值对”(值可以是原始值,比如数字、字符串,也可以是对象)构成。
在其他面向对象的语言中,对象类型一般叫作类。但JavaScript并不真正具有类,而ECMAScript标准中根本没有“类”一词。JavaScript中的对象类型实际上是指各种作为对象处理的数据结构。ECMAScript中有大量的预定义的对象类型,即所谓本地对象,而浏览器和网页也会向JavaScript提供各种对象以实现脚本与浏览器及网页的访问,另外,我们还可以在JavaScript中创建自定义的对象。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。