其他数据类型转换数字
1. Number()
function fun(){
console.log(
Number(null),//==>0
Number(undefined),//==>NaN
Number({}),//==>NaN
Number([]),//==>0
Number([12]),//==>12
Number([12,13])//==>NaN
);
}
把引用数据类型转为数字,是先把他基于toString()转换为字符串,再转换为数字。
2. parseFloat
function fun(){
console.log(
parseFloat('12.5px'),//==>12.5
parseFloat('true'),//==>NaN
parseFloat('null'),//==>NaN
);
}
fun();
与方法1不同的在于,parseFloat() 是先将要转换的值转为字符串,然后顺位找数字,碰到第一个不是数字得值停止,返回之前找到的数字。
- NaN和任何值(包括自己)都不相等
- not a number 它不属于一个数,但是它属于数字类型。
- 在 用isNaN 方法检测是否为非有效数字时,非有效数字返回true,有效数字返回false。isNaN('10')返回false,证明这是一个有效数字。首先判断是否为数字类型,如果不是,先用Number()转化为数字类型,再检测。