JS将数据转换成数字的方法有三种类型和五种类型,包括:

强制转换,js的基本数据类型以这种方式转换成相应的类型(数字(V))。
原生功能,这些功能有不同的结果(parseInt(V,基数),parseFloat(V))
隐式转换,在执行时,js将变量转换成相应的类型(位计算、数学计算)。
转换的原始值可分为三类:特殊对象、值、字符串。

js中的特殊值包括以下内容。

未定义的,未定义的,在声明变量但不赋值或不存在的属性时是这个值。
南/无限,这是两个顽固的数字(typeof = =号),分别与非数字的无限多的似乎是没有用的,转换到数字失败,返回值是基本上南。
空,为对象为零(typeof =对象)。
true false,布尔值,为true,false,等于1 0。
对于字符串,可以根据内容进行细分,根据JS的数字表达,可以分为合法和非法两种,对法律数字有不同的分类:

正负符号:无符号
十六进制,八进制,十进制,十六
科学计数法
十进制、整数和小数的缩写。
根据上面的分类,我做了一个演示来测试不同方法和数值转换的结果。


作为一个结果,只有一位计算可以转换任何价值有限(有限),和数学计算结果和强制转换是相同的。

具有原价值的特殊价值和转换和转换方法的关系,parseInt / parseFloat总转换失败,返回NaN。

用其他方法完全不改变。
无限转换为南由parseInt,和其余方法不改变它的值;
空/假/真的不能由parseInt和parseFloat返回南转换。
字符串的转换分析主要着眼于转换方法,但是所有的方法都不支持八进制表示数,而是对应的十进制数。

除了负转换逻辑计算的法律表达式外,十六进制数,并给出小数部分;法律表达式不归零。
数学运算数与逻辑运算相似,但不到小数;不合法表达式除空弦外返回南方。
parseInt也只保留整数部分。但是对于非法表达式,它需要在字符串之前从合法整数(小数、十六进制、非科学符号)中部分转换,并且不返回到南方。
类似于parseInt和parseFloat,不同的是能够识别并保留小数部分和不支持十六位十进制数。