JS数据类型转换

JS数据类型转换
一、数据类型转换
  在js中数据类型转换一般分为两种,即强制类型转换和隐式类型转换(利用js弱变量类型转换)。
强转换:
隐式类型转换:
利用函数parseInt() ,parseFloat() ,Number(),Boolean()进行数据转换,顾名思义,前两个分别是对数据进行解析转换,前者是整数,后者是浮点数。他们解析的原则是从前往后进行解析,尽其所能。若存在有能识别的数字就解析,如果第一位就不是数字则返回NaN.Number则是对整体进行判断,是数字返回数字,否则NaN.Boolean()则是对是否存在和真假进行判断进行判断。
 // String(); 强制转换为字符串
        /* var num=null;
        var a=String(num);
        console.log(a);
        console.log(typeof num);
        console.log(typeof a); /
 
 
      /
   var num=10;
        var a=num.toString(2);
        console.log(a);
        console.log(typeof num);
        console.log(typeof a); */

// toString可以将任何数字转换为任意进制
        // var color=255;
        // var c=color.toString(36);
        // console.log©;
 
// 强转数值
        // 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);
 
 
        // var a;
        // var a=null;
        // var num=Number(a); //undefined—>NaN   null—>0
        // console.log(num);
 
        // 强转为整数
        // var str=“你好”;//纯字符—》NaN
        // var  str=“20”;
        // var num=parseInt(str);//如果 第二个没有填值,则表示10进制数值转换
        // num :20
        // var str=“1010”;//纯数字—》整数
        // var num=parseInt(str,2);//将2进制字符串转换为数值
        // num :10
 
        // var str=“FF”;
        // var num=parseInt(str,16);//将16进制字符串转换为数值
        // console.log(num);
        // #FF0000
       /*  var str=“FF0000”;
        var num=parseInt(str,16);
        console.log(num); */
        // parseInt(字符,进制)  可以将指定进制方式字符串转换为10进制数值,是toString()逆转换
// var str=“16a”;//部分数值部分字符  16
        // var str=“a16”;//部分数值部分字符   NaN
        // var num=parseInt(str);//按照10进制转换  16
        // var num=Number(str);//NaN
        // 通过parseInt转换数值可以从开始转换到字符前为止变成数值,如果第一位是字符,返回NaN
        // console.log(num);
 
        // 布尔值强转数值整型,会变成NaN
        // var str=false;
        // var num=parseInt(str);
        // console.log(num);
        // undefined null 强转整型都是NaN
        // var str;
        // var str=null;
        // var num=parseInt(str);
        // console.log(num);
 
 
        // parseFloat(); 强转小数
 
 
        // 转换为布尔值
        // Boolean(数据) 转换为布尔值
        // var str=“aaa”;
        // var b=Boolean(str);
        // console.log(b);
 
        // var str1="";
        // var str2=0;
        // var str3=false;
        // var str4;
        // var str5=null;
        // var str6=NaN;
        // “” 0 false,undefined,null,NaN  转换为布尔值都会变成false,除此之外转换都是true
 
 
        // var a=" ";
        // console.log(Boolean(a));//true
 
        // var b=3;
        // var c=3;
        // console.log(Boolean(b-c));
 
        // var d=0.2;
        // var e=0.2;
        // console.log(Boolean(d-e));
 
 
        // var str=“0a”;
        // console.log(Boolean(str));  //将字符串转换为布尔值
        // console.log(Boolean(parseInt(str)));//将字符串转为数值然后在转换为布尔值
  隐式类型转换:
  隐式类型转换和java中大不相同,在js中数据类型不严格,没有浮点和整型,这里的隐式类型转换指的是字符串和数值类型之间的转换,在进行字符串和数字之间进行减乘除取模运算或者进行比较运算时,他会自动把字符串转换为数字。转换数字的默认方法是调用Number(),进行加法运算则是将数字看成字符串进行拼接。
// var a=6;
        // var b=“a”;
        // var c=true;
        // console.log(a+b);//这里将a隐式转换为字符串,并且相加首尾相连
        // console.log(a+c);
 
        // 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、付费专栏及课程。

余额充值