在JavaScript中,一共有六种数据类型,如下图所示:
一、数字类型(Number)
1、最基本的数据类型;
2、不区分整型数值和浮点型数值;
3、能表示的最大值是±1.7976931348623157乘以10的308次方;能表示的最小值是±5 乘以10的-324次方;
4、包含十六进制数据,以 0x开头 0到9之间的数字,a(A)-f(F)之间字母构成。 a-f对应的数字是10-15;
5、八进制直接以数字0开始,有0-7之间的数字组成。
二、字符串类型(string)
1、字符串由单引号或双引号括起;
2、例如单独一个字母也被称为字符串(例如:‘a’);
3、使用字符串注意事项:不能一单一双,必须成对出现。
三、布尔类型(Boolean)
1、布尔型也被称为逻辑值类型或者真假值类型;
2、布尔型只能够取真(true)和假(false)两种数值, 也代表1和0,实际运算中true=1,false=0;
var bool1 = true;
var bool2 = false;
console.log(typeof bool1); // boolean
console.log(typeof bool2); // boolean
3、虽然Boolean 类型的字面值只有两个,但 ECMAScript 中所有类型的值都有与这两个 Boolean 值等价的值。
任何非零数值都是true, 包括正负无穷大, 只有0和NaN是false
任何非空字符串都是true, 只有空字符串是false
任何对象都是true, 只有null和undefined是false
四、Null和Undefined
1、Undefined这是一种比较特殊的类型,表示变量未赋值,这种类型只有一种值就是undefined。
var num;
console.log(num); //结果是undefined
2、undefined是Undefined类型的字面量
- 前者undefined和10, "abc"一样是一个常量
- 后者Undefined和Number,Boolean一样是一个数据类型
- 需要注意的是typeof对没有初始化和没有声明的变量都会返回undefined。
var str1 = undefined;
console.log(typeof str1 ); //结果是undefined
var str2;
console.log(typeof str2); //结果是undefined
3、Null 类型是第二个只有一个值的数据类型,这个特殊的值是 null。
- 从语义上看null表示的是一个空的对象。所以使用typeof检查null会返回一个Object。
- undefined值实际上是由null值衍生出来的,所以如果比较undefined和null是否相等,会返回true。