javaScript的数据类型转换
String类型
String类型用于表示由0或多个16Unicode字符组成的字符序列,及字符串,字符串可以有单引号或双引号表示,用单引号和双引号表示的字符串完全相同。不过,由双引号和单引号字符串开头的,结尾也要由单引号或双引号字符串结尾。
例如:
var sum= " bool ' ;//语法错误(左右引号必须匹配);
toString可以将任何数字转换为任意进制
var color=255;
var c=color.toString(36);//把255转换成36进制
console.log©;//打印结果77,
var a=“1”;
var b=3;
如果正常来说 两个不同类型的数据相加就会报错
console.log(b+a);
console.log(b-a);
这种情况只可能发生再弱类型语句中,类型不相同,弱类型语言会自动将数据转换为对应的类型
隐式转换
强制转换 主动将数据的类型强制转换为某种类型
数值型Number
####强转数值
NaN 非数值 类型是number;
var str=“你好”;//纯字符转换数值后,打印值为NaN
var str=“12”;//纯数字转换数值后,打印值为 数字
var str=“1a”;//部分数字,部分字符 转换数值后,打印值还是NaN
var num=Number(str);
console.log(num);
var b=false;
布尔值
var num=Number(b);
console.log(num);//打印结果是0
当变量值为布尔值时,转为数值打印结果为数值true为1,false为0;
var a;
var a=null;
var num=Number(a);
//undefined—>NaN null—>0
console.log(num);
当变量值为布尔值时,转为数值打印结果为数值null为0,undefinde为NaN;
强转为整数parseInt();
var str="你好";//纯字符转换为整数 打印结果为NaN
var str="20";//纯数字转换为整数,打印结果为数值
var num=parseInt(str);//如果 第二个没有填值,则表示10进制数值转换
var str="1010";//纯数字---》整数
var num=parseInt(str,2);//将变量str的2进制字符串转换为10进制数值
var str="FF";
var num=parseInt(str,16);//将16进制字符串转换为数值
console.log(num);//打印结果255; 将16进制变量str转换为十进制255
parseInt()
var 变量=属性值;
当变量的属性值为纯字符时,转换为整数是NaN
当变量的属性值为纯数字时,转换为整数是数字
当变量的值部分数字部分字符时,如果变量的属性值第一个为字符,则转换为数值是NaN;如果第一个不是字符而是数值,则打印到字符前的数字为止;
当变量的属性值为布尔值是,转换为整数,打印结果是NAN
当变量的属性值为null或undefined时,打印的结果为NaN
parseFloat(); 强转小数
转换为布尔值
Boolean(数据);转换为布尔值
“”、0、false 、undefined 、null、 NaN除了这六个转换为布尔值都会变成false,除此之外转换都是true;
var a=6;
var b="a";
var c=true;
console.log(a+b);//这里将a隐式转换为字符串,并且相加首尾相连
console.log(a+c);//打印结果6true
console.log(a-b);//减法会隐式转换将a和b都转换为数值 NaN 6-NaN