JavaScript中的数据类型转换
不论是JavaScript中的强制数据类型转换还是手动数据类型转换,我们一般只考虑三种变量类型。
即 字符串类型(string)、数字类型(number)、布尔类型(boolean)
对一个变量进行重新赋值操作(赋值成为另外之中变量类型)不叫作数据类型转换,这里讨论的数据类型转换一般出现在表达式中。是为了对表达式中产生的值进行精确掌控。
手动数据类型转换触发条件(三个函数):
String(...)、Number(...)、Boolean(...)
把想要进行转换的值作为参数传入到函数中即可得到相应的值。但是要注意一些特殊条件。
Number(...),当参数无法被转换为数字时,函数的返回值为NaN。
Boolean(...),当参数为 false、null、undefined、0、‘’(空字符串)、NaN时,函数返回值为 false,其它情况下一律返回true。
强制数据类型转换触发条件:
+ 符号:字符串与数字同时出现向字符串转换。
- 符号:字符串与数字同时出现向数字转换,若字符串无法转换成数字,则表达式值变为NaN。
* 符号:字符串与数字同时出现向数字转换,若字符串无法转换成数字,则表达式值变为NaN。
/ 符号:字符串与数字同时出现向数字转换,若字符串无法转换成数字,则表达式值变为NaN。
== 符号:字符串与数字同时出现时向数字转换,字符串与布尔类型同时出现时向布尔类型转换,数字与布尔类型同时出现时向布尔类型转换。(能转换则可以比较,不能转换则直接返回false)。
> 符号:这里很混乱,不要用这些运算符去处理非数字。
< 符号:
为了避免代码的混淆与强制类型转换条件的不清晰,一定要首先对数据进行手动转换,然后再进行运算。