
2.1 数据类型
JavaScript是一种弱类型的语言,即数据(变量或常量)在定义时不必指明数据类型,其数据类型可以通过为数据赋值时根据其值来确定是什么类型。本节将对JavaScript的数据类型进行详细的介绍。JavaScript的数据类型分为三类,有基本数据类型、引用数据类型和特殊数据类型。其中JavaScript的基本数据类型有数值型、字符串型和布尔型;引用数据类型是指支持对象编程的类型,特殊数据类型主要包括NULL(空值)、undefined(未定义)、Na N(非数值)以及转义字符。
微课2-1 数据类型
2.1.1 基本数据类型
1.数值型
JavaScript的数值型包括整型和浮点型。
(1)整型
整型也叫整数,是没有小数点的数值,它可以用十进制数、八进制数和十六进制数来表示。
十进制:用0~9的数字来表示,如24、67、-99、-102。
八进制:用0~7的数字来表示,首位必须加0,如023、045。
十六进制:用0~9的数字和A~F(或者a~f)来表示,前两位必须是0X或者0x。如0x245、0x5ad、0XCD、0XEF。
(2)浮点型
浮点型数值可以有小数,即浮点型数值包括整数部分和小数部分,中间用小数点分开,即“整数部分.小数部分”。表示浮点型数值时只能采用十进制,其表示的形式有两种,分别是普通形式和指数形式。
普通形式:由整数部分、小数点和小数部分组成。如3.5、23.0、0.6、-6.8。
指数形式:也叫科学计数法,由数字、e和指数组成。如3.45e3(表示3.45×103),注意一点,指数是-324~308之间的整数,如3.45e3214、3.45e3.5都是不合法的。
2.字符串型
字符串型数据是用来表示文本数据的,主要是由字母、数字、汉字或者其它特殊字符组成的。在程序中,字符串数据必须用单引号或者双引号括起来,其中单引号和双引号可以相互嵌套,即单引号中的字符串可以有双引号,双引号中的字符串可以有单引号,但单引号和双引号不能交叉使用,如下代码所示。
"JavaScript是一门功能强大的编程语言"
'JavaScript是一门功能强大的编程语言'
"欢迎来到‘JavaScript’的世界"
'欢迎来到“JavaScript”的世界'
但是,下面的语句表示也是错误的(单引号和双引号交叉)。
'欢迎来到“JavaScript’的世界"
"欢迎来到‘JavaScript”的世界'
同样,下面的语句表示也是错误的(单引号里面必须是双引号,双引号里面必须是单引号)。
"欢迎来到“JavaScript”的世界"
'欢迎来到‘JavaScript’的世界'
3.布尔型
布尔型也叫逻辑型,布尔型数值只有两个值,即逻辑真和逻辑假。在JavaScript中分别用true和false来表示布尔型的两个值。在程序中也可用非0数值和数值0表示true和false;当把true和false转换为数值时,分别是1和0。
在程序中,布尔值通常用在判断语句中,其表示结果的值是真还是假,如下代码所示。
n==1 判断n是否等于1,如果等于则为true,否则为false。
2.1.2 引用数据类型
引用数据类型主要用在面向对象编程中,在后面第5章对象章节中将进行详细的介绍。
2.1.3 特殊数据类型
1.NULL(空值)
NULL也是JavaScript的一个关键字,表示空值,用于定义空的或者不存在的引用。
2.undefined(未定义值)
undefined指的是未定义类型的变量,表示这个变量还没有赋值,如下代码所示。
<script type="text/javascript">
var variable;
alert("此变量的类型为:"+variable);
</script>
执行上述代码后,会输出变量类型为undefined的效果,如图2-1所示。

图2-1 输出变量类型为undefined
提示
NULL① 不等于空字符串(“”)或者0;NULL② 与undefined的区别是NULL表示一个变量赋予了一个空值,而undefined则表示该变量没有被赋值。
3.Na N(非数值)
Na N(not a numeber的缩写)是JavaScript特有的一个特殊数字类型,表示“非数值”。主要是指程序运行时由于某种原因发生计算错误,产生一个没有意义的数值,这个数值就是Na N。
4.转义字符
转义字符通常也称为控制字符,它是以反斜杠开头不可显示的特殊字符,利用转义字符可以在字符串中添加不可显示的特殊字符或者避免引号匹配问题。例如在页面上输出图2-2所示的效果,可以通过如下代码实现。
<script type="text/javascript">
document.writeln("<pre>");
document.writeln("学习JavaScript字符串要注意:\n字符串中可以有单引号\',也可有有双引号\"");
document.writeln("<pre>");
</script>
实现效果如图2-2所示。

图2-2 转义字符实现效果
常用的转义字符如表2-1所示。
表2-1 JavaScript的转义字符

提示
document.writeln()的作用是将括号内的内容在页面上输出。在使用document.writeln()输出转义字符时,只有放在格式化文本块中才会起作用,所以脚本须放在<pre>和</pre>的标签内。当然这对pre标签也可以放在<script>标签之外。
【同步案例2-1】:输出JavaScript支持的最大数值和最小数值
(1)案例分析
JavaScript支持的数值型数据并不是无限大或者无限小,可以通过Number对象的MAX_VALUE和MIN_VALUE求出支持的最大数值和最小数值。
(2)实现代码
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>数值型数据支持的最大数值最小数值测试示例</title>
</head>
<body>
<pre>
<script type="text/javascript">
document.write("JavaScript支持的最大数值是"+Number.MAX_VALUE);
document.write("<br>");
document.write("JavaScript支持的最小数值是"+Number.MIN_VALUE);
</script>
</pre></body></html>
(3)实现效果
实现效果如图2-3所示。

图2-3 最大数值和最小数值示例