=>正数、零、负数、小数
=>NaN:not a number 不是一个有效数字,但是属于number类型的
=>Infinity:无穷大的值,也是number类型的console.log(NaN == NaN); //=>false
NaN和任何值都不相等(包括自己本身)
想要验证一下n是不是有效数字:isNaN 验证一个值是否为非有效数字,如果是有效数字,则返回false,如果不是有效数字,则返回true */
isNaN语法isNaN([value])
语法:number([value])
Number是JS内置的转换方法,可以把其它数据类型“强制”转换为数字类型
1、string转化为number
把字符串转换为数字:一但字符串中出现非有效数字字符,则结果为NaN,只有都是有效数字字符,才能转换为具体的数字,空字符串会转换为0
2、boolean转化为number
把布尔转换为数字:true转换为1 false转换为0
3、null和undefined转化为number
把空转换为数字:null转换为0 undefined转换为NaN
4、symbol转化为number
不能把Symbol类型转换为数字,否则会报错
5、对象转化为number
对象转换为数字:先把对象转换为字符串,再把字符串转为数字
1、普通对象:先转化为string再转化为number,普通对象转化为字符串(包括空字符串)为[Object object],所以转化为数字的结果都是NaN
2、数组对象:先转化为string再转化为number,数组对象转化为字符串,一但字符串中出现非有效数字字符,则结果为NaN,只有都是有效数字字符,才能转换为具体的数字,空字符串(空数组)会转换为0
3、其余对象:转化结果基本都为NaN
4、函数类型:转换为数字结果都是NaN
语法:parseInt([value])/parseFloat([value])
处理原理和Number方法不一样,他们先把其他数据类型转化为string,在转化为number
从字符串最左边开始查找,把找到的有效数字字符转换为数字,一直遇到一个非有效数字字符为止,则结束查找(空字符串为NaN)
parseFloat会比parseInt 多识别一个小数点,其余处理机制相同
保留小数点后面N位(最后的结果是一个字符串)
0基础学习前段历程3 JS基础知识 Number数据类型解析
原文:https://www.cnblogs.com/wrfzxyy/p/12523741.html