zoukankan      html  css  js  c++  java
  • javascript中常见的数据类型转换总结

    1.任意类型--->字符型

    1)String

    var a=35.278,
                b=true,
                c,
                d=null;
                // 强制转换
            a=String(a);
            b=String(b);
            c=String(c);
            d=String(d);
            console.log(a,b,c,d);                 结果:  35.278 true undefined null

    2)toString

    如果直接使用就是转换为字符串,如果加入参数数值2-36之间,得到对应的进制,字符型
           var  a=35.278,
                b=true,
                c,
                d=null;
                // 强制转换
            a=a.toString(2);
            b=b.toString();
            c=c.toString();  ×
         d=d.toString(); ×
         console.log(a,b,c,d); 注: 1.toString()中的参数是转换成对应的进制,范围是2-36 2.undefined,null不能使用toString

    3)toFixed

    数值转换为字符串并且保留几位小数,参数是任意正整数,具备四舍五入的功能
    var a=35.278;
    a=a.toFixed(2);
    console.log(a)                    结果:  35.28     注:()内的参数是保留的小数,只能是正整数。

    4).科学计数法

    var a=35.278var b=46.325;
    
            a=a.toPrecision(1)     有效数字
            b=b.toExponential(4); 小数点后几位
            console.log(a,b);          结果:4e+1 4.6325e+1

    总结:数值型,布尔型,undefined,null都可以转换成字符型,控制台字体颜色为黑色

    2.任意--->数值型

    1)Number

          var a="a",
                b="24.56",
                c="5a",
                d=true,
                e=false,
                f,
                g="101",
                i="FF",
                h=null,
           g=""; // 强制转换为数值 a=Number(a); // 如果字符不是数字,转换后变为NaN b=Number(b); // 如果字符串内是纯数字,转换后为数字 c=Number(c); //如果字符串是由字符和数字组成,通过Number转换后是NaN d=Number(d); //布尔值通过Number转换,true--->1,false---->0 f=Number(f); //如果是undefined型,转换后就变为NaN h=Number(h); // null转换后变为0
         g=Number(g); //空字符转换后为0 console.log(a,b,c,d,f,h); 结果:NaN 24.56 NaN 1 NaN 0 0

    总结:只有纯数字的字符串,布尔型(false,true),null,空字符("")   这5个转换数值型后是有数值,别的都是NAN,(NAN是数值型的非数值)

    补充:

    var a=" 32 " 头部和尾部的空格会自动去除   转换为number是32
    var b="21 1" 中间有空格,转换为number是NaN
    var c=" "
    //头部和尾部的空格会自动去除,中间的不会。空字符串中不管有多少空格,只要是转换为number都会自动清除,结果0。

    var d=" ";
    console.log(Boolean(a)); 结果是:true
    注:有空格的字符串转换为布尔值时不能清除空格。

    trim()可以清除字符串头部和尾部的空格,但是不能清除中间的空格。
    var a=" 1 2 "
    console.log(a.trim()); 结果是:"1 2"

    2)parseInt     

    将字符串转换为整形

    var  a="ff",
           b="5a";
           a=parseInt(a,16);    // 1.可以取整,不四舍五入,2.可以按照第二个参数将字符串转进制位10进制,toString()的逆转换

        console.log(g);
           b=parseInt(b);      //从开始到第一个字符为止的内容转换为字符串,第一个是字符就会变成NaN,取整功能,这点要和Number分清楚,对于"5a"这种字符串,Number的结果是NAN
           console.log(b)
    布尔值转换是NaN,会自动转换为字符,然后再转数值
    var  d="false",
           h="null";
           
            d=parseInt(d);
            console.log(d);
            h=parseInt(h);
            console.log(h);          结果: NAN   NAN
    

    3)parseFloat 

    将带有小数的字符转换为浮点数
     var b="35.56"
     
    b=parseFloat(b);
      console.log(b);          结果: 35.56
    

    3.任意--->布尔型

          var   a="",
                b=0,
                c,
                d=null,
                e=NaN;
    
            a=Boolean(a);
            b=Boolean(b);
            c=Boolean(c);
            d=Boolean(d);
            e=Boolean(e);
            console.log(a,b,c,d,e);               结果:false false false false false
    

      总结:除了"",0,false,undefined,null,NaN,其他任何内容转为布尔值都是true

    4.任意--->Object

      var   a=5;
            a=Object(a);
            console.log(a);    结果: Number {5}__proto__: Number[[PrimitiveValue]]: 5    数值类型转换成了数值对象型
    
    var obj={a:1,b:2};
     obj=obj.toString();
    console.log(obj);          结果:[object Object]      只有对象转换成字符型,才能使两个object
    

      

  • 相关阅读:
    首次成功实施 XSS 攻击,盗取目标网站大量 VIP 帐号
    框架模块设计经验总结
    OEA ORM 框架中的冗余属性设计
    UML 图使用心得
    Scrum 流程应用反思 我们的团队
    分享一个简单的 VS 插件及源码
    PDA使用感悟
    OEA 框架中集成的 RDLC 报表介绍
    私活后的 WPF 设计经验总结
    个人管理/时间管理 辅助工具套件分享
  • 原文地址:https://www.cnblogs.com/94-Lucky/p/13154933.html
Copyright © 2011-2022 走看看