在JS中有显性的类型转换和隐性的类型转换,现在我就显性开始说起就是直接使用方法转换
Number
强行将数据类型转换为Number类型。例如
var m = Number("“123”);
则字符串123会强制转换为Number类型的数据。
将字符串改为boolean类型的数据时,true为1,false为0
null转化为数字则也是0。undefined则不能,会转为NaN。a,b,c这些转换的结果也是NaN。
还有一个parseInt的数据类型转换,他的任务主要是转化数据为整型,一般来说字符也是可以转换,例如13.3,使用parseInt来转化的话得出的结果就是13.除了Number类型和字符串数字类型(若有***开头是***数字位,则读到数据位没有为止),其他的统一转化不了,变成数据NaN。不仅如此,它还可以使其他进制的数转化为十进制的数。
parseInt(num/string,radix)radix则是代表着前一个数据为多少进制的数据转化。例如parseInt(10,2),则将会认为10位2进制,转换的结果为3.
radix的取值范围为 2 - 36 。
parseFloat 与之使用大致相近,便不做过多解释。
String则是将所有数据类型转化为String类型的数据。还有一个方法与之类似则是obj.toString()用法与此一致(Undefined与NaN无法使用,会报错)toString()内可以存放数据,为要转化的进制,范围一样为2-36.
Boolean 除了空值为false,其他的都为true。
现在又讨论一下隐性类型转换。
例如
isNaN(“abc”)
一开始就是先将调用了Number函数进行了类型的转换,故这条语句的输出结果是true。
还有++ – 》 《等等,如遇到数字型字符串,则也是先调用Number。
不发生隐性类型转换的又绝对类型转换
=与! 便是