JS中的数据类型
- 基本数据类型
- number
- string
- Boolean
- null
- undefined
- 引用数据类型
- 对象
- 普通对象 {}
- 数组 []
- 正则 /内容/
- math
- 日期
- 函数
- 对象
- symbol
number数据类型
它包括正数、负数、0 以及 NaN 都是number数据类型,那么其他的数据类型想要转化为number应该使用什么方法?
第一种方法:Number
对于基本数据类型中的其他几类:
string类型,如果里面含有特殊字符,怎么值为NaN,如果是空字符串,那么为0,如果字符串里面只有数字,那么就是这个数值
- Number("12") //12
- Number("12px") //NaN,含有特殊字符
- Number("") //0
- Number("12.2") //12.2
- Number("12.2.2") //NaN,正常的数字不会有两个小数点
Boolean类型,如果是false,则为0,如果是true,则为1
- Number(true) //1
- Number(false) //0
null 和 undefined 来说
-
- Number(null) //0
-
- Number(undefined) //NaN
对于引用数据类型中的几种
对于引用数据类似,它都会隐实的去调用toString方法
- 普通对象调用完就是"[object Object]",因此它是含有特殊字符的字符串,所以普通对象都是NaN
- 数组对象调用toString方法之后需要根据数组的内容去判断值
- [] //值为0,因此转为数字为0
- [1] //值为1 因此转为数字为1
- [1,2] //值为1,2 因此转为数字为NaN
Number({}) //NaN
Number([]) //0
Number([1]) //1
Number([1,2]) //NaN
第二种方法:parseInt
从左向右去解析,他的结果是一个整数,遇到特殊字符或者小数点就停止。
parseInt("12.2") //12
parseInt("12.2px") //12
parseInt("width:12.2px") //NaN
parseInt(false) //NaN
parseInt(null) //NaN
parseInt(undefined) //NaN
parseInt({}) //NaN
parseInt([]) //NaN
第三种方法:parseFloat
从左向右去解析,他的结果是一个浮点数,遇到特殊字符会停止,遇到第二个小数点也会停止。其余和parseInt一样
parseFloat("12") //12
parseFloat("12.2") //12.2
parseFloat("12.2px") //12.2
parseFloat("width:12.2px") //NaN
parseFloat("12.2.2") //12.2
以上就是JS中常用的其他数据类型转为number数据类型的三种方法。