JavaScript学習day 02(データタイプ変換とオペレータ)

8979 ワード

データタイプの変換:1、他のデータタイプをBooleanタイプに変換する
  Boolean()    ,  true  flase。
Boolean      true       false
String                ""
Number         0       0 NaN
Object                null
Undefined   n/a          undefined(n/a not applicable    )
  :
    var o = new Object();
    console.log(Boolean(""));//          false
    console.log(Boolean("aa"));//           true
    console.log(Boolean(0));//  0    false
    console.log(Boolean(NaN));//  NAN    false
    console.log(Boolean(1));//   0 NaN number         true
    console.log(Boolean(o));//          true
    console.log(Boolean(null));//  null    false
    console.log(Boolean(undefined));//  undefined      false
2、他のデータタイプをNumberタイプに変換する
1.   Number()      。
    1)        null,undefined,boolean,number
        Number(true);       //1
        Number(false);      //0
        Number(null);       //0
        Number(undefined);  //NaN
        Number(10);     //10       ,    

    2)       :
        Number("123");  //       ,        
        Number("234.1");//        
        Number("+12.1");//      ,      ,        
        Number("1+2.3");//NaN           ,   NaN
        Number("0xa");  //           ,           
        Number("010");  //【  !】          ,   10
        Number("");     //        0
        Number("123ac");//      : NaN
        Number(" 12");  //12
          :
                 (  ):        number(      )
                  
                  (  ):  NaN
2.parseInt()

        1)        null,undefined,boolean,number
            parseInt(true);     //NaN
            parseInt(false);    //NaN
            parseInt(null);     //NaN
            parseInt(undefined);//NaN
            parseInt(10);       //10       ,    
            parseInt(10.3);     //10      ,            
        2)       :
            parseInt("123");  //123;       ,        
            parseInt("234.1");//234;          
            parseInt("+12.1");//12;       ,      ,     
            parseInt("0xa");  //10;            ,           
            parseInt("010");  //10; 【  !】          ,   10
            parseInt("");     //    NaN;        NaN
            parseInt("1+2.3");//1;         ,      ,       ,           ,           Number  
            parseInt("123ac");//123;
      :
        1、          ,       NaN(not a number)
        2、       (        )
        3、      ,      ,     ,       ,       ,         
3.parseFloat()
     parseInt()   ,      : 
        1.               ,                   
        2.      0
                parseFloat("22.3.4")    //22.3
                parseFloat("022.34");   //22.34
        3.    0x(    )
3、03)他のデータタイプから文字列タイプへの変換
1. toString()  
         ,toString()                 ,      ,        ,   ,                   
            var num = 10;
            num.toString();     "10"
            num.toString(2);    "1010"
            num.toString(8);    "12"
            num.toString(16);   "a"
      null ,undefined   toString()   
        null.toString()         //   TypeError: null has no properties   
        undefined.toString();   //   TypeError: undefined has no properties
    2. String()     
            String(null)         "null"
            String(undefined);   "undefined"
オペレータ
++,--,+,-                【    】,           Number      (  Number()      )
    1.   ++  
        var a = "11";
        1+a++;
        1+ ++a;
          :                 
          :                 
                      ,           (Number()),       ,         ,        valueOf  ,           ,          toString(),     。
    2.   --
          :                 
          :                 
                      ,           ,                ,      valueOf  ,           ,          toString(),     。
    3.  +
             Number();
        var a = "12"
        +a ;    // 12        Number("12")
    4.  -
                  ,       。
                   ,              ,             
    var c = "asd";
    console.log(-c);//    NaN
02)      ,  (NOT)
        !
                     【   】。            Boolean,    ,
        !a ==> !Boolean(a)
        !0      //true
        !""     //true  
        !NaN    //true  
        !false  //true

                ,             Boolean  ,!!a ==> Boolean(a)
        !!""    //false
03)     && (    ,    )         
            。              ,         boolean  

    1.          null,NaN,undefined,false,0,""     false         
    (           boolean   false,  &&   ,         ,        )
    2.        ,      
        var s1 = 8;
        var s2 = "briup";
        var s3 = "";
        var result  = s1 && s2; //briup
        var result2 = s3 && s2; //    
    (  :          falsr,       ,              true,       ,      false,     。)

04)     ||(    ,    )
    false || 
             null,NaN,undefined,false,0,""     false         

             null,NaN,undefined,false,0,""          

      :            true,       ,      true,     ,      false,     。

05)      
    1.    +
        m + n
        1)  m,n  String,Object     ,  m,n   Number  ,       
            true + false;     //1;Number(true)+Number(false);                             
            null + undefined; //NaN;Number(undefined) -> NaN
        2)  m,n    String,          (     )     String,       
            "1" + true; // 1true
            "1" + undefined;// 1undefined
            "1" + 1;    // 11
        3)  m,n       ,        toString,    valueOf  ,   valueOf       ,                 。         valueOf  ,   toString       ,                 。
            var o = {
                name:"briup",
                valueOf:function(){
                    return "1";                                                                        
                }
            }
            o+1;        //2;o+1

    2.    -
            【    】。          ,     Number()      Number  ,     。
        true - 1;       //0;    1-1
        null - true;    //-1 ;  0-1
        1 - undefined   //NaN
        var o = {
            name:"briup",
            valueOf:function(){
                return 1;
            }
        }
        o-1;        //0;    1-1


06)      
        【    】                    Number()
    1.    *
                 ,         
                NaN,   NaN
                Infinity
                    ,    Number()       。
    2.    /
                NaN,   NaN (0/0 ; NaN)
           0  0 Infinity   
                    ,    Number()       。
        var s1 = 5;
        var s2 = 2;
        var result = s1/s2;  //2.5
    3.    %
                 ,         
                NaN,   NaN(   %0 ; NaN)
                    ,    Number()       。

07)      
    < > <= >= ,    【Boolean】 
    1.           ,                     
        "a">"b" //false
        "1">"a" //false

    2.          ,                  
        "3">1;          //true
        3>true;         //true 3>Number(true)
        3>undefined;    //false Number(undefined)=NaN ;    NaN      false
    3.          ,   valueOf(),   toString();              ,      toString() valueOf()    false
        var o = {
            name:"briup",
            valueOf:function(){
                return "13";
            }
        }
        o>2     // true ; "13">2
08)      ,  【Boolean】
    1.       ==, != (      )
        1.            ,      
        2.             ,        
        3.           ,        
        4)null == undefined         //true
        5)NaN    (  NaN)       false,     true.
        6)        number  ,        undefined,null,boolean,string  ,             ,     

    2.      
              ,             ,         ,      ,          
        console.log("55" == 55); true
        console.log("55" === 55);false
        null == undifined;      //true null   undifined
        null === undifined;     //false

      :
                  。
                           ,      ,            ,  false,      ,          
09)       ? : 
    variable = boolean_expression ? true_value : false_value;

            if(     ){
                true_value
            }else{
                false_value
            }


      boolean_expression true, true_value  variable,   false_value  variable

      :
               
       function max(m,n){
            return m>n?m:n; //  m>n true  m,  m>n false,  n
       }
10)       = 
    var a=2;
    var b=a++;
               
                *= /= %= += -= 
   var a = 4;

   a *= 3; //=> a = a*3;
11)      
                 
   var num1=1,num2 = 2, num3 = 3;