数据类型转换:
1、强制转换:主动将数据类型转换为某种类型,进制必须>=2并且<=36.因为数字字母只有36个。
強转字符串:
String(数据) 强制转换为字符串 与parsenInt为逆转换;
例1:var num=10
var a=String(num);
console.log(typeof num);
console.log(typrof string);
console.log(a);
例2:var num=10
var a=toString(2); 转换为二进制
console.log(typeof num);
console.log(typrof string);
console.log(typeof a);
1、toString(进制)可以将任何数字转换为任意进制;
例:var color=255;
var c=color.toString(16);
console.log(c);
2、toFixed(小数点后几位) 将数值转换为字符串,并且按照小数点四舍五入保留位数
例:var num=10.56;
var a=num.toFixed(1);
console.log(a);
3、強转数值:
NaN 非数值 类型是number
例1:var str="你好\12\1a";(纯字符、纯数字、部分数字部分字符,只要有字符就是NaN)
var num=Num(str);
console.log(num);
布尔值转换为数值时, 0---false,1---true;
undenfined转换为数值时,NaN;
null转换为数值时, 0;
4、強转为整数:parseInt();与toString为逆转换
例:var str="1010"
var num=parsenInt(str,2); 将二进制的str转换为数值
console.log(num);
parsenInt(字符,进制)中第二个数值表示将什么进制的字符串转换为数值,进制数不给,同意按照十进制转换。
布尔值強转为整数时是 NaN;
undenfined转换为数值时,NaN;
null转换为数值时, NaN;
5、強转为浮点型:parseFloat(); 可以保留小数位
6、強转为布尔型:Boolean();
例:var str="aaa"
var num=Boolean(str);
console.log(num);
以下数据类型转换为布尔值是false:
""(空字符串,中间没有空格) 0 false undenfined null NaN 除此之外转换都是true
2、隐式转换:当数据类型不同是若类型语言会自动将数据转换为对应的类型,只能发生在弱类型语句。
遵从与String(),Number(),Boolen
例:var a=6;
var b="a";
console.log(a+b);加法将a转换为字符串,并且首尾相连。
console.log(a—b);减法将b转换为数值之后相减。
总结:加法时有字符串就转为字符串,减法有字符串转为数值,但是如果字符串里是字母需要先将字母转换为数值型,才可以继续计算。
注1:任何数据都需要转换为二进制,但是原生js二进制小数转换以后恢复到原数值时,会有误差。
注2:0-9 10十进制,逢十进一; 0-1 二进制,逢二进一
注3:在强制转换中null、undefind不能转换。