数据类型的转换

数据类型转换:分为强制转换和隐式转换两种

1.数值转字符串

var a=1.23;
var b=String(a);//类型强制转换
console.log(b);//1.23
a=String(a);//将转换为字符串覆盖原有的变量
a=a+"";//利用隐式转换方式,没有强制转换,根据运算特征自动转换为字符串,隐式转换
//隐式转换使用的转换发放是自动执行String(a)

toString()实际上是Object对象的方法,因此,万物皆对象,任何类型都可以调用这个方法

var a=15;
a=a.toString(16);//参数必须是2-36之间,否则报错,转换为指定的进制数
console.log(a) //f

toFixed(小数点位数) 转换为字符串,并且保留小数点位数,自动四舍五入

var a=1.23456;
a=a.toFixed(2);
console.log(a);//1.23

2.数值转换为布尔值

除了0以外所有的数值转换为布尔值都是true,0转换为布尔值是false

3.数值转换为对象

var a=0;
a=Object(a);//数值型对象,存储在堆中
console.log(typeof a);

4.字符串转换为数值

var a="1.1466";
a=Number(a);//强制转换为数值类型   1.1466  打印字体为蓝色
a=parseInt(a);//转换为整数   1
a=parseFloat(a);//转换为浮点数    1

var b=10111;
b=parseInt(b,2);//将字符串转换为2进制
console.log(b);//23

var color="FF0000";
color=parseInt(color,16);
console.log(color);  //16711680

a=parseFloat();//不能转换进制

NaN  数值类型中的非数值
隐式转换遵从Number()转换方法

5.字符串转换为布尔值

仅空字符串转换为布尔值时,是false,除此之外全部是true

var str="";
str=Boolean(str);
console.log(str);//false

字符串转换为对象

var str="aa";
str=Object(str);
console.log(str);//String {"aa"}

var str=" a a  ";
str=str.trim();//清除字符串前后空格
console.log(str);//a a
布尔转换为数值:true转换为1,false转换为0
布尔值转换为字符:转换后就是字符true和false
布尔值转换为对象:转换后就是布尔值对象
任何类型转换为布尔值
var a=0;
var b='';
var c=undefined;
var d=NaN;
var e=null;
var f=false;
以上6种转换布尔值是false,其他都是true
undefined null转换为字符串和数值
var a;
var b=null;
a=Number(a);//转换为数值是NaN
b=Number(b);//转换为数值是0

a=parseInt(a);//NaN
b=parseInt(b);//NaN
console.log(a,b);
posted @ 2020-07-07 21:07  阿狸i  阅读(279)  评论(0编辑  收藏  举报