JS数据类型转换

js的数据类型大体可以分为:字符串(String)、数字(Number)、布尔(Boolean)、对象(Object)、Null、Undefined、typeof操作符。
而数据类型转换可以分为强转数值、隐式转换。

强转数值:主动将数据的类型强制转换为某种类型
如:
String(); 强制转换为字符串

		var num=null;
        var a=String(num);
        console.log(a);//--->null
        console.log(typeof num);//---->object
        console.log(typeof a); //----->string
        
        var num=10;
        var a=num.toString(2);
        console.log(a);//----->1010
        console.log(typeof num);//----->number
        console.log(typeof a);// ----->string

toString可以将任何数字转换为任意进制

		var color=255;
        var c=color.toString(16);
        console.log(c);//--->ff

toFixed(小数点后几位) 将数值转换为字符串,并且按照小数点四舍五入保留位数,但是有精度误差

var num=10.35; 
var a=num.toFixed(1);
console.log(a);----->10.3

强转数值
NaN 非数值 类型是number

     var str="你好";//纯字符 NaN
    var str="12";//纯数字  数字
     var str="1a";//部分数字,部分字符 还是NaN
     var num=Number(str);
    console.log(num);//--->NaN
	 var b=false;
    // 布尔值
     var num=Number(b);
     console.log(num);//---->0
     var a;
     var a=null;
     var num=Number(a); //undefined--->NaN   null--->0
     console.log(num);//---->0

强转为整数

var str="你好";//纯字符---》NaN
     var  str="20";
     var num=parseInt(str);//如果 第二个没有填值,则表示10进制数值转换
     num :20
     var str="1010";//纯数字---》整数
     var num=parseInt(str,2);//将2进制字符串转换为数值
     num :10

parseInt(字符,进制) 可以将指定进制方式字符串转换为10进制数值,是toString()逆转换

	var str="FF";
    var num=parseInt(str,16);//将16进制字符串转换为数值
    console.log(num);//---->255
     //#FF0000
   	var str="FF0000";
    var num=parseInt(str,16);
    console.log(num); //----->16711680
	var str="1010101";
    var num=parseInt(str,2);
    console.log(num); //----->85
   	var str="FF";
    var num=parseInt(str,16);
    console.log(num); //---->255

转换为布尔值:Boolean(数据) 转换为布尔值。
"" 0 false,undefined,null,NaN 转换为布尔值都会变成false,除此之外转换都是true

	var str="aaa";
    var b=Boolean(str);
    console.log(b);//---->true

隐式转换:

在js中,当运算符在运算时,如果两边数据不统一,CPU就无法计算,这时我们编译器会自动将运算符两边的数据做一个数据类型转换,转成一样的数据类型再计算.这种无需程序员手动转换,而由编译器自动转换的方式就称为隐式转换
		var a=6;
        var b="a";
        var c=true;
        console.log(a+b);//这里将a隐式转换为字符串,并且相加首尾相连 --->6a
        console.log(a+c);//----->7
        console.log(a-b);//减法会隐式转换将a和b都转换为数值  NaN     6-NaN
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值