一、Number 数值类型
- null=>0,非数值字符串 =>NaN,空字符串=>0
- 引用类型转换是先底层通过toString() 转换为字符串,在 Number 进行转换
- console.log(Number({}))//"[object Object]"=>NaN
- console.log(Number([]))//""=>0
- console.log(Number([12]))//[12]=>"12"=12
- console.log(Number([1,2]))//[1,2]=>"1,2"=>NaN
- NaN 属于number 类型 ( + NaN和任何值都不想等,包括自身)
- isNaN 判断变量是否是非数值
- Number() 浏览器底层转换是通过Number 转换的
- parseInt() 从左往又开始依次查找转换,只要遇到无法转换的就立即停止查找,把有效数值转换为整数
- parseFloat()从左往又开始依次查找转换,只要遇到无法转换的就立即停止查找,把有效数值转换为浮点数
- parseInt 和parseFloat 转换null,undefined,空字符串,true,false,NaN =>NaN
- 因为这两个方法 是将字符串转换为 有效数字,所以运行机制是先将 值转换为字符串,然后 从左到右依次查找有效数字,只要找到就开始相对应的转换,只要遇到非有效数字就停止查找(不管后边是否存在就不在查找)
代转数据 Number() parseInt() parseFloat() 纯数字字符串 对应数字 对应数字(取整) 对应数字
(可取小数点)
空字符串 0 NaN NaN 数字开头字符串 NaN 开头整数 开头数字
(可取小数点)
非数字开头字符串 NaN NaN NaN null 0 NaN NaN undefind NaN NaN NaN false 0 NaN NaN true 1 NaN NaN