写在前面:JS有六大数据类型,五大基本数据类型。类型转换只需要考虑String Boolean Number的类型转换,转换为Null和Undefined意义不大,因为他们的值只有一个。
一.转为String类型
两种方式
方式一:
使用tostring()方法
格式:被转换的内容.tostring() 例如 var a = 1;a.tostring();
针对:Number Boolean
注:Null和Undefined没有tostring()方法,使用会报错
方法二:
使用String()函数
格式:String(---); 例如:var a = 1; String(a);
二.转换为数值
两种方式:
方式一:
使用Number()函数
--字符串转换为数值时:
1.字符串为纯数值 直接转换为数值
2.字符串中含有非数值字符,转换为NaN
3.字符串为空串或空格时,转换为0
--布尔值转换为数值时
1.true转换为1
2.false转换为0
--Null转换为数值时
结果转换为0
--Undefined转换为数值时
结果转换为NaN
方式二:
该方式针对于字符串使用
使用parseInt()和parseFloat()函数
优势相较于Number()而言,可以将不是纯数值的字符串,不全都转换为NaN
比如:a=123.456 转换为123 ;a=123s234 转换为123 a=s123456 转换为NaN
parseFloat()相较于parseInt()而言,可以转换小数,parseInt只能转换为整数
比如:a=123.456; parseInt(a)返回123;parseFloat(a)返回123.456
parseInt()函数还可以解决进制的问题,例如:parseInt(070,10)//将070看做十进制 70
三.转换为Boolean类型
使用Boolean()函数
返回值为true或false
1.数值转换为Boolean时
--除了0和NaN,返回值为true
2.字符串转换为Boolean时
--除了空串其余都返回true(注意区分空串和空格“” / “ ”)
3.Null和Undefined转换为Boolean
返回值为false
4.对象转换为Boolean会返回true