为什么会有数据类型的额概念?
为了更加合理地使用内存空间
1、基本数据类型
1、string
使用单引号或双引号包裹,单引号和双引号之间可以互相嵌套,但不能自己嵌套自己,如果确实需要嵌套,可以使用转义字符
2、number
在JS中,不区分小数和整数,都是number类型
特殊数值:
-
最大值:Number.MAX_VALUE
-
最小值:Number.MIN_VALUE
-
无穷大:Infinity 10 / 0
-
无穷小:-Infinity -10 / 0
-
非法数字 NaN
JS中当对数值进行计算时没有结果返回,则返回NaN,任何数值和NaN计算,均为NaN,NaN与任何数比较,均为false,判断一个变量是否是NaN,通过isNaN()
3、boolean
取值有true和false两个,有些数据在某些时间会发生数据类型的隐式转化
4、und
是一个数据类型,这个数据类型所对应的值只有一个,是und
没有赋值的变量是undefined类型
//后期一般用来判断一个变量是否有值
var x;
console.log(x); //undefined
5、null
- Null表示引用数据类型的空
- 表示一个空的对象,用typeof检查null会返回一个object
- 用处:通过赋值null这个特殊值,来让系统清空变量对对象的引用
6、und与null的区别
- und和null都表示为空
- und表示基本数据类型的空
- null表示引用数据类型的空
- 两者都表示存储的内容为空,判断两者值是否相等,结果为true。
等号:==
判断两侧的操作数是否相等
在判断时,先进行隐式类型转化,会把null和und都转成false
最终判断的是false == false
绝对等于:===
此时它先去判断类型,如果类型不一致,结果为false