JavaScript的数据类型共分两类:
简单数据类型 (也称原始数据类型或基本数据类型)
复杂数据类型(也称引用数据类型或对象类型)。
一.简单数据类型
简单数据类型共分5种:
Number
Boolean
String
Null
Undefined
说明:
- ECMAScript6新增:Symbol
1.1 Number
类型(数字类型)
数值类型值共有4种:
整数
浮点数
无穷大
NaN
1.1.1 整数
对整数来说,还可以使用8进制和16进制的整数来表示。8进制的范围是(0-7), 16进制的范围是(0-F)。例如:
var num = 25; // 10进制的25
alert(num); //弹出:25
var num1 = 025; // 8进制用0开始。表示一个8进制的25。
alert(num1); // 弹出:21 注意:弹出显示的时候,总是用10进制的形式。
var num2 = 0x25; // 0x开始表示这个数是16进制。这是个16进制中的25。 注意:这里的x可以大写X也可以小写x
alert(num2); //弹出:37
var num3 = 0XAF;
alert(num3); //弹出:175
注意:如果8进制数字超出了进制范围(比如出现8、9),则自动忽略前导0,把这个数字作为十进制的数字类处理。例如:
var num4 = 089;
alert(num4); //弹出:89。 并不会出现错误
1.1.2 浮点数
所谓浮点数值,就是该数值中必须包含一个小数点,并且小数点后面必须至少有一位数字。浮点数直接量一般有两种写法:直接带小数点的和 使用科学计数法。
var f1 = 3.14; // 带小数点的直接量写法
var f2 = 3.158899e5; //科学计数法: 表示 3.158899 * 10^5
1.1.3 无穷大
ECMAScript
并不能储存所有的数,所以能表示的数有个范围。所能表示的数最大值和最小值都保存在Number
这个内置函数中(后面会详细介绍什么是对象。)
alert(Number.MAX_VALUE);
alert(Number.MIN_VALUE);
//如果数值超出了最大值和最小值,则用Infinity和-Infinity表示。
alert(1.1 / 0); //弹出:Infinity
alert(-1.1 / 0); //弹出:-Infinity
1.1.4 NaN
NaN( not a number 不是个数)
表示不是一个数字,当 0/0
的时候不是无穷大,而是NaN。或者把一个非数字形式的字符串转换成数字时都会返回NaN。例如:
alert(0 / 0); //弹出:NaN
alert(parseInt("60")); //弹出:60 说明:parseInt("");可以把字符串形式的数字转换成Number
alert(parseInt("a")); //弹出:NaN
//注意:NaN是个非常特别的东东。因为即使他自己和自己都不相等。
var v = 0 / 0;
alert(v == v); //弹出false
alert(v != v); //弹出true。 所以:可以通过这种方式来判断这个数是否为NaN
1.2 Boolean
类型(布尔类型)
Boolean类型的值是程序中用的很多的一种类型。
它只有两个值:
true
表示逻辑上的对/正确,false
表示逻辑上的错。
说明:
- 在以后的判断语句中(
if
)和循环语句中为频繁的使用到布尔类型的值.
1.3 String
类型(字符串来信)
String
指的是用 ""(双引号) 或 ''(单引号) 括起来的字符序列。
字符序列可以由0个或多个字符组成。
例如:”123” “a” ‘name’ ‘blue’ ’nihao’ ’xiaohong‘ ”nihao”。
注意:
单引号或双引号要匹配,不能一边用双引号,一边用单引号 ,左右符号要匹配。
不管单引号还是双引号都是英文半角字符, 不能是中文下的引号
有些字符没有办法直接输入, 需要转义:
| 代码 | 输出 | | :----: | :-----: | | \' | 单引号 | | \" | 双引号 | | \& | 和号 | | \\ | 反斜杠 | | \n | 换行符 | | \r | 回车符 | | \t | 制表符 | | \b | 退格符 | | \f | 换页符 |
1.4 Undefined
类型
Undefined
类型只有一个值,即特殊的 undefined
.
在使用 var
声明变量但未对其加以初始化时,这个变量的值就是 undefined ,
例如:
var v;
alert(v); //弹出:undefined。 变量v声明但是没有赋值初始化,则为undefined
alert(m); //m没有定义,直接使用会发生错误。
1.5 Null
类型
Null 类型是第二个只有一个值的数据类型,这个特殊的值是 null ( n是小写)。从逻辑角度来看, null 值表示一个空对象指针。
值 undefined 实际上是从值 null 派生来的,因此 ECMAScript 把它们定义为相等的。
说明:
尽管这两个值相等,但它们的含义不同。
undefined 是声明了变量但未对其初始化时赋予该变量的值,null 则用于表示尚未存在的对象。
如果函数或方法要返回的是对象,那么找不到该对象时,返回的通常是null。
alert(null == undefined); // 弹出: true。 待讲完面向对象在来理解会更加清晰。大家目前只需要了解即可。
二. 复杂数据类型
复杂数据类型又称之为引用数据类型。 主要包括三种:
对象(object)
函数(function)
数组(array)
说明:
不过,从本质来看,这三种都属于对象。
关于复杂数据类型,我们在面向对象部分重点详细介绍。