强制类型转换为其他数据类型
类型转换主要指:将其他的数据类型转换为String、Number、Boolean
1.将其他的数据类型转换为String
方式一:调用被转换数据类型的toString()方法
调用a的toString()方法 语法:a=a.toString();
注:null和undefined这两个值没有toString方法
var a=100;
a=a.toString();
var b=true;
b=b.toString();
console.log(typeof a);
console.log(a);
console.log(typeof b);
console.log(b);
方式二:调用string()方法,并将被转换的数据作为参数传递给函数
使用string()做强制类型转换,实际上是调用toString方法
注:它会将null直接转换为“null",将undefined直接转换为“undefined”
var a=100;
a=String(a);
var b=true;
b=String(b);
var c=null;
c=String(c);
console.log(typeof a);
console.log(a);
console.log(typeof b);
console.log(b);
console.log(typeof c);
console.log(c);
方式三:隐式转换-任意数据类型+“”(引号内的为空串)
对两个字符进行加(+)运算即进行拼串操作,得到一个字符串
任何值和字符串进行运算,先转换为字符串,然后在进行拼串操作。
利用此特点,可将其转换为string;任意数据类型+“”,将任意数据类型先转化为字符串再加上一个空串,即转换为了string。
var a=100;
a=a+"把a变成字符串";
var b=true;
b=b+"";
console.log(typeof a);
console.log(a);
console.log(typeof b);
console.log(b);
2.将其他数据类型转换为Number
方式一:使用Number函数
1)将字符串转换为数字
a.如果是纯数字字符串,则直接转换为数字
b.如果字符串有非数字内容,则转换为NaN
c.如果字符串为空或全是空格,则转换为0
注:特殊值转数字 true:1 false:0 null:0 undefined:NaN
var a="123";
a=Number(a);
var b=true;
b=Number(b);
var c=null;
c=Number(c);
var d=undefined;
d=Number(d);
console.log(typeof a);
console.log(a);
console.log(typeof b);
console.log(b);
console.log(typeof c);
console.log(c);
console.log(typeof d);
console.log(d);
2)专门用来对付字符串
a.-parseInt( )将字符串转换为number,将有效的整数内容去出来
b.-parseFloat( )它可以获得有效的小数
var a="123zhuanhuan";
a=parseInt(a);
console.log(typeof a);
console.log(a);
3)转为其他进制数字
16进制-0X开头 8进制-0开头 2进制-0b开头
注:070在string转为number类型时可能十进制,也可能8进制
如若要规定 a=parseInt(070,x),x代表转换为几进制
var a="070";
a=parseInt(a,10);
var b="070";
b=parseInt(b,8);
console.log(typeof a);
console.log(a);
console.log(typeof b);
console.log(b);
方式二:任何值做减法、乘法、除法运算时都会自动转换为Number
注:利用此特点,可以做-0、*1、/1来转换为Number
var a="123";
a=a*1;
console.log(typeof a);
console.log(a);
方式三:任何值用一元运算符正(即+)都会自动转换为Number
var a="070";
a=+a;
console.log(typeof a);
console.log(a);
3.将其他数据类型转换为Boolean值
1)数字转布尔,除了0和NaN,其余都是true
2)字符串转布尔,除了空串,其余都是true
3)null转布尔值,转为false
4)undefined转布尔值,转为false
var a=123;
a=Boolean(a);
var b=0;
b=Boolean(b);
var c="";
c=Boolean(c);
var d=null;
d=Boolean(d);
var e="zifuchuan";
e=Boolean(e);
console.log(typeof a);
console.log(a);
console.log(typeof b);
console.log(b);
console.log(typeof c);
console.log(c);
console.log(typeof d);
console.log(d);
console.log(typeof e);
console.log(e);