数据类型之间的转换
String 字符串转Number
1.如果是空字符串,转换结果就是0
Number("")--> 0
2.如果说字符串中他含有非有效的数字 转换结果为NaN
Number("12px")--> NuN
布尔类型
Number(true);-->1
Number(false);-->0
空 null undefined
Number(null);-->0
Number(undefined):-->NaN
对象
如果说是 引用数据类型 转换成数字类型
会隐式 调用toString()这个方法,然后在调用Number 转数字
var obj={"name","Lili"}
Number(obj);-->obj.toString()-->"[object object]"-->NaN
Number([]);-->[].toString()-->"" -->Number("")-->0
Number([1,2,3]);-->[1,2,3].toString()-->"1,2,3"-->Number("1,2,3")-->NaN
Number([1])-->[1].toString()-->"1"-->Number("1")--> 1
parseInt 把字符串转换成 整数
方法:从左向右寻找,遇到非有效数字或者小数点,就停止寻找
parseInt("12")--> 12
parseInt("12px")--> 12
parseInt("w12px")--> NaN
parseInt("12.5px")-->12
parseFloat 把字符串转成成浮点型 parseFloat和parseInt 类似,但是可以识别小数点
parseFloat("12.5px");-->12.5
注意一点
NaN 连他自己和自己都不相等,所以不能把他用作为 判断有效数字的依据;
isNaN() 可以用来判断一个数字是否是有效数字,返回值是布尔类型
true 代表 非有效数字
false 代表 是有效数字
他的转换方式和Number数字类型的转化有些类似
都是先隐式调用Number()方法转换成数字类型再去判断布尔值
isNaN(1)--> false
isNaN("2")--> false
isNaN(true)--> false
isNaN(false)--> false
isNaN(null)--> false
isNaN("") -->false
isNaN(undefined)-->true
isNaN({"name","LiLi"})-->true
isNaN([1,2])-->true
isNaN([1])-->false
把数据类型转成布尔类型
Boolean()
!() 转换成布尔值 并取反
!!(); (**取反 再 取反 相当于没有改变 看着逼格高一点 ** )
注意:把其他数据类型转为布尔值
除以下几种情况转换成False 剩下的都是true
!!(0)
!!(NaN)
!!(null)
!!(undefined)
!!("")
以上几个都是转换都是False

浙公网安备 33010602011771号