JS中一共有6种数据类型,分为:数字(Number)、字符串(String)、布尔值(Boolean)、undefined、null以及对象(Object)
一、原始类型和复杂类型
原始类型:最基本的数据类型,不能再往下细分;
JS中的数据原始类型有:数字,字符串,布尔值,undefined和null(这两个是特殊值);复杂类型:
JS中的复杂类型指的就是对象,对象一个容器,包裹其它的由基本类型组成的键值对组合;
二、JS中的数据类型判断方法
-
typeof
1.介绍:typeof
是一个一元运算符,它只需要一个值,对该值进行类型判断,然后输出该值的类型的字符串表示;
2.用法:typeof+值
,图示如下:
3.typeof的一些应用
①. 检查一个变量是否存在,是否已被赋值;
②. 验证一个变量既不等于undefined
又不等于null
;
③. 判断某个值是不是函数;
PS:在typeof+函数
的时候,输出的类型为'function'
,但是'function'
也属于对象;
-
instanceof(不推荐使用)
1.介绍:instanceof是一个二元操作符,它需要两个值,值需要是对象,用来验证前面的值是否是后面值的实例;
2.用法:值+instanceof+值
:
3.为什么不推荐使用instanceof
因为它不能对基础类型进行判断,且有奇怪的BUG,如下:
三、数字(Number)类型
数值类型简介?
数值类型指整数或者浮点数,例如1和-1,5.6和-5.6;-
关于科学计数法(用e代替10,用来表示一个数字a=ne的x次方)*
在JS中,如果数字太长,会转换用科学计数法表示,同理,过长的数字也可以用科学计数法表示,如下图:
无穷数(Infinity)
1.介绍:因为内存是有限的,所以一个数字的表示不能是无限长的,那么这一点在JS中的表现就是:如果有一个数字突破JS中对数字的长度限制,就会用Infinity来表示它;
2.JS中的数字长度限制是多少?
最大能表示的数值:(可以在控制台中用Number.MAX_VALUE查看)
最大值为1.7976931348623157e+308
;
最小能表示的数值:(Number.MAX_VALUE)
最小值为
5e-324
3.判断一个值是不是无穷数可以用isFinity()
方法,该方法判断无穷数为false,不是无穷数则为true
- 转换为数值的方法
1.Number()方法
(很少用):不能转换类似123abc
这样的字符串中的数字
使用方法:
2.parseInt()整数转换
:可以转换类似'123abc'
这样的字符串中的数字,但是无法转换类似'abc123'
这样的字符串,它判定的方法是字符串中的第一位字符开始,是数字就转换,直到碰到一个不是数字的字符为止,所以转换浮点数时不能转换小数点后的数字;
使用方法:
3.parseFloat()浮点数转换
:为了应对parseInt()
不能转换小数点后的数字这一问题而出现;
使用方法:
- NaN(Not a Number)
1.定义:NaN在数据类型中也是属于数字,指代对于非数字字符串转换数字时出现的数据;
2.NaN的特点:
NaN是未知的,它与任何值都不相等,包括它自身:
四、字符串类型(String)
字符串类型简介
字符串指的就是字符组成的文本,例如:"Hello",它用双引号或单引号包裹表示;-
定义字符串中需要注意的问题
定义字符串需要注意的就是双引号和单引号的用法:
1.包裹用的引号,开始为双/单引号,结束就用双/单引号;
2.字符串内有双引号时,包裹用的引号使用单引号;
3.字符串内又有单引号又有双引号时请使用转义字符\\(反斜杠)
;
五、布尔值(Boolean)
布尔值类型介绍
布尔值只有两个值:true和false,常用于条件的判断;会返回布尔值的运算符
1.两元运算符:&&
(与)、||
(或);
2.前置运算符:!
(非);
3.相等运算符:===
(全等)、==
(相等)、!==
(不全等)、!=
(不相等);
4.比较运算符:>
(大于)、>=
(大于等于)、<
(小于)、<=
(小于等于);-
所有的数据都可以转化为布尔值
- 可以转化为false的值:
1.undefined
;
2.null
;
3.数字0
;
4.false
本身;
5.NaN
;
6.""
空字符串;
- 可以转化为false的值:
其余的值都可以转化为true;
六、undefined和null
-
undefined
undefined介绍:
undefined数据只有一个值undefined,表示此处不存在值;-
undefined的典型用法:
1.验证一个变量是否被赋值,若未被赋值,则等于undefined,如下图:
2.验证函数中的参数是否有提供,如下图:
3.验证对象中的属性是否有值,如下图:
4.验证函数是否有返回值,如下图:
-
null
null介绍:
null与undefined有点相像,但是又不全像,null表示空,表示此处不应该有值;-
null的典型用法:
1.赋值给某个变量,释放它的内存,如下图:
-
null与undefined的区别
1.两者除了数据类型外几乎没有区别(数据类型不同);
2.强制转换成数字时,undefined转化成NaN,null则是0;
七、对象(object)
-
JS对象介绍
对象是指无序数据的集合,由若干键值对构成,它的值可以使任意的数据类型包括对象自身,下图是一个对象:
-
读取对象值的方法
1.obj.key:
2.obj['key']: