JavaScript——类型转换

显性类型转换:

  1、转数字:Number(mix),把mix转为数值类型

          eg:Number('-123');//-123,                    Number(null);  //0

                  Number(undefined);  //NaN                Number('123abc');  //NaN

           看起来不是数字的基本转化为NaN,但仍为数值类型

  2、转整数:parseInt(demo)/parseInt(demo,radix)

         1)、把demo转化为整数

               eg:parseInt('123.26');  //123,其他的不像数字的都为NaN

         2)、radix:2~36进制,以这些进制为基底把demo转换为十进制

               eg:parseInt('10',16);   //16

  3、转浮点型:parseFloat(demo)

         从头看到除 . 外的非数字位截止,把demo转为浮点值,整数仍为整数

         eg:parseFloat('100.bg');  //100           parseFloat('100.485abc');   //100.458

  4、转字符串型:String(mix),把mix转化为字符串类型

         eg:String(123);  //’123’

  5、转布尔型:Boolean(mix),把mix转化为布尔类型

            eg:Boolean('');   //false        Boolean(' ');   //true

  6、转字符串型:toString()/toString(radix)

        1)、把目标转为字符串型

             eg:var demo=123;

                    demo.toString();   //'123';

       2)、以十进制为基底把目标值转化为目标进制radix的字符串型

             eg:var demo=123;

                    demo.toString(8);    //'173'

        注:undefined、null不可转换


隐性类型转换:

  1、isNaN(mix)

        系统先进行Number(mix)转化,把值再和NaN对比,结果相等为true,不是为false

        eg:isNaN('123');   //true        isNaN('abc');     //false

                isNaN(null);   //false,因为Number(null)=0

  2、++、--、+、-(正负):含隐性转化Number(mix)

       eg:var a ='abc';a ++; 结果a=NaN

       先进行Number(a)=NaN,再a++还是为NaN,注意a的类型是Number,因为进行了转化

  3、+(加号):转字符串类型

          eg:'abc'+ 1; // 'abc1'

  4、-、*、/、%:含隐性转化Number(mix)

  5、&&、||、!:含隐性转化布尔型

       eg:! 8;  //false,先把数值型8转换为布尔型true

  6、>、<、>=、<= :含隐性转化Number(mix)

           eg: 1 > '2';    //把字符'2'隐性转换为数值2

  7、==、!= :含隐性转化Number(mix)

           注: NaN != NaN            undefind == null


不发生类型转换:

  1、===:绝对等于

       eg:1 === ‘1’;    //false      

  2、!==:绝对不等于

       eg:NaN !== NaN;   //true,NaN为特殊,它绝对不等于自己

posted @ 2020-08-21 16:24  橙cc  阅读(28)  评论(0编辑  收藏  举报