JavaScript 数据类型
值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol。
注:Symbol 是 ES6 引入了一种新的原始数据类型,表示独一无二的值。
引用数据类型:对象(Object)、数组(Array)、函数(Function)。
基本类型
一、数字(Number)
1.包括浮点数和整数
Number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一位数字)两种值。
什么是浮点数:浮点数就是该数值中必须有一个小数点,并且小数点后面必须至少有一位数字。由于保存浮点数值的内存空间是保存整数值的两倍,所以js会不失时机的把浮点数转换为整数。小数点后面没有数值或者1.0就会被保存成整数。
2.特殊的数字类型NaN (NaN:非数字类型。)
a、表示不是数字,但是其实它是一个特殊的数字(NaN:Not a Number)
b、当运算操作符错误的时候,一般会得到NaN,涉及到的 任何关于NaN的操作,都会返回NaN
c、NaN具有传染性,即NaN参与任何运算,结果都为NaN
d、NaN与任何数值都不相等, NaN不等于自身
isNaN()函数 数用于检查其参数是否是非数字值。
判断一个数是否为NaN的唯一方式;判断一个数是否是NaN,如果是NaN则返回true,否则返回false
3.Infinity
a、Infinity:数据超过了JS可以表示的范围,是一个特殊的数字
b、Infinity与其他数据类型进行操作运算,结果还是Infinity
c、数字除以0得到Infinity
isFinite()函数 isNaN(123) //false isNaN("hello") //true;如果是NaN或者Infinity返回false,否则返回true
二、 字符串(String)
多个字符的有序序列,双引号和单引号引起来的都是字符串,字符串有length属性。
特点:
1、单引号和双引号引起来的都是字符串
2、两个字符串相加,实际上是将两个字符串拼接
3、两个字符串相加,是拼接而不是运算,其他运算结果为NaN,表示计算错误
4、字符串加数字,首先将数字转化为响应的字符串然后再参与运算。同样不支持-, *, /等其他运算
字符串转换:转型函数String(),适用于任何数据类型(null,undefined 转换后为null和undefined);toString()方法(null,defined没有toString()方法)。
三、布尔值(Boolean)
该类型只有两个值,true和false,通常用在流程控制语句,选择判断语句
false值:数字0、NaN、“ ”,空字符串、false、undefined、null
true值: 除了false值就是true值
四、 Undefined
只有一个值,即undefined值。使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined。
如果使用一个未定义的变量,会得到一个undefined值,当定义了一个变量未初始化,默认的也会给它初始化成undefined值
五、null
null类型被看做空对象指针,代表什么也没有
注意:null和undefined的最大区别是如果变量值为null,说明变量是存在的,只不过它的值是空值null
引用数据类型
js中对象是一组属性与方法的集合。这里就要说到引用类型了,引用类型是一种数据结构,用于将数据和功能组织在一起。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。
引用类型:对象、数组、函数。
注:判断数据类型方法
1、typeof返回的类型都是字符串形式,可以判断function的类型;在判断除Object类型的对象时比较方便。
2、判断已知对象类型的方法: instanceof,后面一定要是对象类型,并且大小写不能错,该方法适合一些条件选择或分支。