将其他的数据类型转换为String
1.(强制类型转换)调用被转换数据类型的 toSring()方法
null和undefined这两个值没有 toString() 方法调用会时会报错
eg:var a = 123;
a = a.toString();
2.(强制类型转换)调用 String() 函数
对于Number和Boolean实际上就是调用的 toString()方法
对于null和undefined就不会调用 toString()方法
而是直接将null转换为"null",将undefined转换为"undefined"
eg:var a = 123;
a = String(a);
3.(隐式类型转换)为任意的数据类型做 +""
原理和 String()函数一样
eg:var a = true;
a = a + "";
将其他的数据类型转换为Number
1.(强制类型转换)调用 Number()函数
转换的情况:
String——Number:
如果字符串是一个合法的数字,则直接转换为对应的数字
如果字符串是一个非法的数字,则转换为NaN
如果是一个空串或纯空格的字符串,则转换为0
Boolean——Number:true转换为1,false转换为0
null——Number:null转换为0
undefined——Number:undefined转换为NaN
eg:var s = "123";
s = Number(s);
2.(强制类型转换)调用 parseInt()或 parseFloat()函数
parseInt()可以将一个字符串中的有效的整数位提取出来,并转换为Number
如果需要可以在 parseInt()中指定一个第二个参数,来指定进制
eg:var a = "123.456px";
a = parseInt(a); //123
parseFloat()可以将一个字符串中的有效的小数位提取出来,并转换为Number
eg:var a = "123.456px";
a = parseFloat(a); //123.456
3.(隐式类型转换)使用一元的+
原理和 Number()函数一样
eg:var a = "123";
a = +a;
将其他的数据类型转换为Boolean
1.(强制类型转换)调用 Boolean()函数
转换的情况:
String——Boolean:除了""空字符串,其余的都转换为true
Number——Boolean:除了0和NaN,其余的都转换为true
null、undefined——Boolean:都转换为false
Object——Boolean:都转换为true
eg:var a = "false";
a = Boolean(a); //true
2.(隐式类型转换)为任意的数据类型做两次!运算
eg:var a = "hello";
a = !!a; //true