标题数据类型转换
一、强制转换 :主动将数据的类型强制转换为某种类型
1、 String(数据); 强制转换为字符串
例如:
toString(进制)可以将任何数字转换为任意进制,进制必须大于等于2并且小于等于36,也就是最小是2进制,最大是36进制。但是null和underfinder是不能转换的!!!
例如:
toFixed(小数点后几位) 将数值转换为字符串,并且按照小数点四舍五入保留位数,但是有精度误差
例如:
注:任何数据都需要转换为二进制,但是原生js二进制小数转换以后恢复到数值时,是有误差的
2、强转数值:
NaN 非数值 类型是number
var str=“你好”;//纯字符 NaN
var str=“12”;//纯数字 数字
var str=“1a”;//部分数字,部分字符 还是NaN
var num=Number(str);
console.log(num);
3、强转为整数:parseInt(字符,进制) 可以将指定进制方式字符串转换为10进制数值,是toString()逆转换
例如:
通过parseInt转换数值几种类型:
A.可以从开始转换到字符前为止变成数值,如果第一位是字符,返回NaN
B.var str=“16a”;//部分数值部分字符 16
C.var str=“a16”;//部分数值部分字符 NaN
D. var num=parseInt(str);//按照10进制转换 16
E.var num=Number(str);//NaN
F.布尔值强转数值整型,会变成NaN,如:
G.undefined null 强转整型都是NaN,如:
4、强转小数:parseFloat();
5、转换为布尔值:Boolean(数据) 转换为布尔值
注: “” ,0,false,undefined,null,NaN 转换为布尔值都会变成false,除此之外转换都是true
如:
例:
二、隐式转换:当数据类型不相同时,做数据的运算,就会自动将两端的数据转换为相同的类型然后哦运算。
隐式转换遵从于string(),number(),boolean()
如: