1. 隐式转换
typeof a //可以获得a变量的类型
(1)其他类型转换成布尔类型
var u = undefined;
if(u){
alert('true');
}else{
alert('false');
}
var n = null;
if(n){
alert('true');
}else{
alert('false');
}
undefined -> false
null -> false
0 或者 0.0 ->false
NaN -> false
字符串长度为0 -> false
其它对象 -> true
(2)其它类型转换成数值型
undefined -> NaN
null -> 0
true -> 1
false -> 0
数字字符串 -> 数字,否则为NaN
其它对象 -> NaN
(3)其它类型转换为字符串型
undefined -> “undefined”
null -> “null”
true -> “true”, false -> “false”
NaN -> “NaN”
数值型 -> “NaN” 或者对应的数字字符串
其它对象 -> 如果存在则转换为 toString()方法的值,否则转换为”underfined”
2.显式转换
我们可以通过函数进行显示转换,除了数值转换规则不太一样,其它和隐式转换一样
(1)Boolean()函数可以将其它类型转换成布尔类型
(2)String()函数可以转换成字符串类型
(3)Number()函数可以转换成数值;
同时:
parseInt(string, radix)函数可解析一个字符串,并返回一个整数。
string是必须参数,代表被解析的字符串;radix为可选参数,取值范围2~36,表示以多少进制解析字符串。字符串如果以合法字符开始,则截取合法字符,如果字符串的第一个字符不能转换为数字,则会返回NaN。
parseFloat(string)会返回一个浮点数