Boolean()
数据类型 | 转换为true的值 | 转换为false 的值 |
Boolean | true | false |
String | 任何非空字符串 | “”(空字符串) |
Number | 任何非零数字值(包括无穷大 | 0和NaN |
Object | 任何对象(除了null) | null |
Undefined | 不适用 | undefined |
Function | 任何方法 | 不适用 |
数值转换之Number()
数据类型 | 转换结果 | |
Boolean | true转换为1,false转换为0 | |
Null | 0 | |
Undefined | NaN | |
Function | NaN | |
Number | NaN转换为NaN | |
String | 如字符串中只包含数字(包括前面带正负号的情况),将其转换为十进制数值 | |
如字符串中包含有效的浮点格式,将其转换为对应的浮动数值 | ||
如字符串中包含有效的十六进制格式,例如“oxf”,将其转换为相同大小的十进制整数值 | ||
如字符串为空,转换为0 | ||
如字符中包含除上述格式之外的字符,将其转换为NaN | ||
Object | 如果是对象,调用对象的valueOf()方法,再依照前面的规则转换返回的值,如果转换结果为NaN,调用对象的toString()方法,再依照前面的规则转换 |
数值转换之parseInt()
数据类型 | 转换结果 | |
Boolean | NaN | |
Null | NaN | |
Undefined | NaN | |
Function | NaN | |
Object | NaN | |
Number | NaN转为NaN | |
String | 忽略字符串前面的空格,直到找到第一个非空格字符,如果第一个字符不是数字或者负号,会返回NaN,用parseInt()转换空字符串会返回NaN | |
如果字符串以“ox”开头,且后跟数字字符,会当作一个十六进制整数 | ||
第二个参数表示转换时使用的基数(多少进制) |
数值转换之parseFloat()
数据类型 | 转换结果 | |
Boolean | NaN | |
Null | NaN | |
Undefined | NaN | |
Function | NaN | |
Object | NaN | |
Number | NaN转为NaN | |
String | 与parseInt()函数类似,也是从第一个字符开始解析每个字符,一直解析到字符串末尾,或解析到遇到一个无效的浮点数字字符为止 | |
字符串中的第一个小数点是有效的,第二个小数点就无效了 | ||
只能解析十进制数,没有第二个参数 |
字符串转换之toString()
数据类型 | 转换结果 | |
Boolean | “true”和“false” | |
Object | "[object Object]" ([]转换为“” [{}]转换为"[object Object]") | |
Number | "Number"(可以传递一个参数:输出数值的基数。通过传递参数,可以输出二进制、八进制、十六进制及其他有效进制格式表示的字符串值) | |
Function | "function" | |
Null | VM637:1 Uncaught TypeError: Cannot read property 'toString' of null at <anonymous> | |
Undefined | VM637:1 Uncaught TypeError: Cannot read property 'toString' of null at <anonymous> |
字符串转换之String()
数据类型 | 转换结果 | |
Boolean | “true”和“false” | |
Object | "[object Object]" ([]转换为“” [{}]转换为"[object Object]") | |
Number | "Number" | |
Function | "function" | |
Null | "null" | |
Undefined | "undefined" |