一、强制转换
主动将数据的类型强制转换成某种类型
计算机中任何数据进行计算都需要转换成二进制
强转字符串
1)String(数据) (所有类型都可以转换)
var num=null;
var a=String(num);
console.log(a);//null
console.log(typeof num);//object
console.log(typeof a); //string
2)(数据). toString (null 和 undefined 不能转换 )
(数据). toString(n) 将数字转换成 n 进制字符 (进制必须大于等于 2 且小于等于36 )
var color=255;
var c=color.toString(36);//把255当成是36进制进行计算
console.log©;
3)(数据). toFixed(n) 数值转成字符串并保留小数点后 n 位,四舍五入(存在误差)
var num=10.35;
var a=num.toFixed(1);
console.log(a);
强转数值
1)Number(数据)
纯数字字符 =>数字;
纯字母字符 => NaN;
带字母字符 => NaN;
null => 0;
undefined => NaN;
true => 1;
false => 0
(NaN 含义是非数值,它的类型是 number )
强转整型
1)parseInt( )
纯数字字符 =>数字;
纯字母字符 / 以字母开头的带数字字符 => NaN;
null => NaN;
undefined => NaN;
true => NaN;
false => NaN;
数字开头带字母的字符 => 转换到第一个字母字符前为止,前面的数字字符转成数字
2)parseInt ( str , n ) 将 n 进制字符串str 转换成 10进制数值
没有n,默认以10进制显示str字符串并转换程10进制数值
parseInt ( str , n ) 是 (数据). toString(n)的逆转换
var str=你好";//纯字符—》NaN
var str=“20”;
var num=parseInt(str);//如果 第二个没有填值,则表示10进制数值转换
//num :20
var str=“1010”;//纯数字—》整数
var num=parseInt(str,2);//将2进制字符串转换为数值
//num :10
强转浮点型
parseFloat(); 可以保留小数位 同parseInt
强转布尔型
Boolean(数值);
1)空字符串 var str1 = “”;
2)数值 0 var str2 = 0;
3)false var str3 = false;
4)未定义 var str4;
5)null var str5 = null;
6)NaN var str6 = NaN;
除以上六点为false以外,均为 true
二、隐式转换
弱类型语句中,类型不同,弱类型语言会自动将数据转换为相同类型,然后运算
隐式转换遵从 String() Number() Boolean()