JS的数据类型

JS的数据类型
> - 1、基本数据类型(值类型) : number(数字) string(字符串) boolean(布尔) null undefined
> - 2、引用数据类型 :对象-- 数组,Date,正则,普通对象,类数组。。。
###number数据类型
> Number在转化引用数据类型的时候,会先把引用数据类型转换成字符串,然后再进行Number转化
> Number('') Number(' ') ----> 0
> Number(null) ----> 0
> Number(undefined) ----> NaN
> Number(false) ----> 0
> Number(true) ----> 1
-----------
> Number([]) ----> 0
> Number({}) ---->NaN


------
处理字符串时的规律
parseInt('xxxx') -->从左往右 依次查看,碰到非数字或点 就截止,返回在这之前的字符
parseInt('') NaN
parseFloat('xxxx') ---> 从左往右 依次查看,碰到非数字 就截止。返回在这之前的字符
parseFloat('') NaN


### 比较运算符 == : a == b 判断 a 和 b 是否相等

NaN 永远不等于 NaN

isNaN(xxx) 判断xxx是否是NaN 若是 则返回 true 否则返回false
isNaN(xxx) 运行的过程 先把xxx用Number转化一次 然后再去判断是不是NaN


####四则运算失败的时候也会出现NaN: + - * / %
> 所有跟NaN做的运算,其结果全是NaN
> + 号两边只有有一边时字符串,那就是字符串拼接


## String(字符串) 数据类型
用单引号或双引号包起来的字符都是字符串;
引号都是成对出现的 不能单引号和双引号混着用



## Boolean (布尔类型) true false
布尔类型为false的只有五个 0(数字0) null undefined ''(空字符串) NaN
! : 取反 !true --> false; !false -->true

!xxxx -> 先用Boolean 把xxxx转化成布尔类型 然后再取反

!! xxxx -> 相当于咱们的Boolean转换
if('abc') --> 在条件语句中 会把条件转成布尔再去计算结果


## 判断数据类型
typeof a 返回的时a的数据类型,返回的是个字符串;
原文地址:https://www.cnblogs.com/zhangyongxi/p/9553800.html