1 数据类型
js数据类型分为基本数据类型和复杂数据类型
基本数据类型
number(数字类型) string(i字符串类型) boolean(布尔类型) null(空) undefined(未定义)
其中 number和true在控制台打印是蓝色的
NaN:not a number 不是一个数字(是number类型的)
isNaN:判断是不是不是一个数字,如果不是数字则为true,是数字则为false
复杂数据类型
数组 函数 对象
2 数据类型之间的转换
Number() 转换成数字 如果不是数字就返回NaN
parseInt() 转换成整数 如果第一位不是数字就返回NaN
parseFloat() 转换成浮点数 如果第一位不是数字就返回NaN
Boolean() 转换成布尔类型
toString() 转换成字符串
3 检测数据类型
1 typeof 可以检测基本数据类型,但是遇到复杂数据类型会不起作用
检测数组时是object
检测null时是object
2 Object.prototype.toString.call() 可以检测所有的数据类型
4数据类型之间的计算
(1) string与所有基本数据类型之间相加都是string
(2) number类型与boolean之间相加时,会把true转换成1,false转换成0
与undefined相加时结果为NaN
(3) boolean类型与undefined相加时结果为NaN
(4) undefined除了与字符串相加时时拼接字符串其余都是NaN
数据类型之间相减时
number与string相减时 ,如果字符串里面是一个纯数字,那么结果为一个number类型的数字,如果字符串里面不是一个纯数字,结果为NaN.
与undefined相减时也为NaN.
string与其他类型相减时首先判断字符串里面是不是纯数字,如果不是纯数字结果为NaN 如果为纯数字,除了与undefined相减为NaN以外,其余都是number类型的数字