JavaScript(五)——操作子(二)を最初から学びます.

13343 ワード

一、乗法操作子
1、乗算:*
     乗算演算子の特殊な規則:
  • 操作数がすべて数値である場合、通常の乗算によって計算され、積がECMAScript値の表示範囲を超えた場合、infinityまたは-infinity
  • に戻る.
  • 操作数がNaNであれば、NaN
  • を返します.
  • infinityであれば0に乗り、NaN
  • に戻る.
  • infinityが非0の数と乗れれば、infinityまたは-infinity
  • に戻る.
  • infinityはinfinityと乗り、infinity
  • に戻ります.
  • 操作数が数値ではない場合、バックグラウンドは先にnumber()を呼び出して数値に変換し、上の規則
  • を適用する.
     1 <script type="text/javascript">
    
     2     
    
     3         alert(5 * 6);           //30
    
     4         alert(5 * NaN);         //NaN
    
     5         alert(Infinity * 0);    //NaN
    
     6         alert(Infinity * 2);    //Infinity
    
     7         alert("5" * 5);         //25
    
     8         alert(true * 10);       //10
    
     9         alert(false * 10);      //0
    
    10        
    
    11     </script>
     
    2、除法:
       除算操作器の特殊規則の一部:
  • 操作数がすべて数値である場合、従来の除算法で計算し、ECMAScript値の表示範囲を超えた場合、infinityまたは-infinity
  • に戻る.
  • 操作数がNaNであれば、NaN
  • を返します.
  • infinityであればinfinityによって除去され、NaN
  • に戻る.
  • 0であれば、NaN
  • に戻ります.
  • 非0の有限数が0で除かれたら、infinityまたは-infinity
  • に戻ります.
  • infinityであれば、非0の有限数によって除かれ、infinityまたは-infinity
  • に戻る.
  • 操作数が数値ではない場合、バックグラウンドは先にnumber()を呼び出して数値に変換し、上の規則
  • を適用する.
     1  <script type="text/javascript">
    
     2     
    
     3         alert(5 / 5);           //1
    
     4         alert(5 / NaN);         //NaN
    
     5         alert(Infinity / Infinity);    //NaN
    
     6         alert(Infinity / 2);    //Infinity
    
     7         alert(5 / 0);           //Infinity
    
     8         alert(10 / true);       //10
    
     9         alert(10 / false);      //Infinity
    
    10        
    
    11     </script>
     
    3、求模式(剰余):%
       モジュレータの特殊な規則を求めます.
  • 操作数がすべて数値である場合、従来の除算法に従って計算し、割り算された剰余数
  • を返します.
  • 除数が無限大であれば、除数は有限数であり、その結果がNaN
  • である.
  • 除数が有限であれば、除数は0であり、NaN
  • に戻る.
  • infinityであればinfinityによって除去され、NaN
  • に戻る.
  • 除数が有限であり、除数が無限大であれば、除数
  • に戻る.
  • 除数が0なら、0
  • に戻る.
  • 操作数が数値ではない場合、バックグラウンドは先にnumber()を呼び出して数値に変換し、上の規則
  • を適用する.
     1  <script type="text/javascript">
    
     2     
    
     3         alert(26 % 5);          //1
    
     4         alert(Infinity % 3);    //NaN
    
     5         alert(3 % 0);           //NaN
    
     6         alert(5 % Infinity);    //5
    
     7         alert(0 % 10);          //0
    
     8         alert(true % 25);       //1
    
     9         alert(3 % false);       //NaN
    
    10        
    
    11     </script>
     
    二、アダプティブ操作子
    1、加算操作子:+
    操作数の一つが文字列である場合:
  • もし両方の操作数が文字列であれば、第二の操作数を第一の操作数の後につづり合わせる.
  • 操作数が文字列である場合、他の動作数を文字列に変換して上記規則を実行する
  • .
    <script type="text/javascript">
    
        
    
            var result1 = 5 + 5;     //     
    
            alert(result1);           //10
    
            var result2 = 5 + "5";   //      
    
            alert(result2);           //"55"
    
    
    
           
    
        </script>
     
    2、減算操作子:-
    操作数が文字列、ブール値、nullまたはundefinedである場合、バックグラウンドでnumber()を呼び出して数値に変換し、減算を行います.
    三、関係操作子
    大きい: 
    小なり:<
    大なりイコール:>=
    小なりイコール:<=
    関係操作子の特殊規則:
    操作数が文字列の場合、2つの文字列に対応する文字コードを比較します.
    操作数の一つが数値なら、他の操作数を数値に変換して比較します.
    任意の数はNaNと比較し、結果はfalseです.
    四、等しい操作子
    1、等しいかどうか:==と!
    この二つのオペレータは操作数を同じタイプに変えて比較します.
    変換する時、等しいかどうかは以下の規則に従います.
  •  その中の一つの操作数の種類が ボロア ,まず、デジタルタイプ、falseに変換します. 変換 0,true 変換 1です
  • 操作数の種類が文字列であり、もう一つが数字タイプである場合、文字列を数字に変換して比較します.
  • 操作のうちの一つが対象で、もう一つがそうでない場合は、まず操作数のvalueof()方法を呼び出し、基本タイプの値を得てから
  • を比較する.
    比較時の特殊ルール:
  • null 和 undefined 同じです
  •  null 和 undefined 他のタイプには変換されません.
  • いずれかの操作の結果が NaN、それでは等しい比較は帰ります. false、等しくない比較は返します. trueなお、2つの操作数が全部 NaN、結果は同じです. false、つまりNaN 等しくない NaN
  • 両方が対象である場合、それらの参照値を比較し、同一のオブジェクトを参照すると、真に戻ります.そうでなければ、偽に戻ります.
  • 2、合同と不全など:==と===
    ==操作数を同じ種類の比較に変換します.
    ==変換されないタイプ、直接比較
    たとえば:
    1 var result1 = ("55" == 55);    
    
    2         var result2 = ("55" === 55); 
    
    3         alert(result1);//true
    
    4         alert(result2); //false"55"    ,55   ,     
    五、条件操作子
    変数=条件式?真の値:偽の値
    まず条件式の値を求めます.結果が本当であれば、変数に真の値を与えます.偽であれば偽の値を変数に与えます.
    1 <script type="text/javascript">
    
    2             
    
    3         var num1 = 10;
    
    4         var num2 = 25;
    
    5         var num3 = (num2 > num1) ? num2 : num1;
    
    6         alert(num3);   //25
    
    7 
    
    8     </script>
    六、操作符の割り当て
    1、簡単に操作符を割り当てます.
    var num1 = 10;
    
    num=num1+10;
    2、複合割当演算子:+=、-=、*=、/=、%=>=、<=>>
     1  <script type="text/javascript">
    
     2     
    
     3         var num = 5;
    
     4         alert(num);     //5
    
     5         
    
     6         num += 5;
    
     7         alert(num);     //10
    
     8         
    
     9         num *= 2;
    
    10         alert(num);     //20
    
    11 
    
    12         num /= 10;
    
    13         alert(num);     //2
    
    14         
    
    15         num -= 2;   
    
    16         alert(num);     //0
    
    17         
    
    18         
    
    19     </script>
     
    七、コンマ操作子
    コンマ操作子は、1つの文で複数の操作を行うことができます.
    用途:1、複数の変数を宣言する
    var num1=1,num2=2,num3=3;
    2、賦課
    var num=(0,1,2,3)//num=3
    与えられた値の操作では、コンマ演算子は常に最後の表式の値を返します.
    練習エリア:
     1  <script type="text/javascript">
    
     2             
    
     3         var num1 = 5;
    
     4         var num2 = 10;
    
     5         var message = "The sum of 5 and 10 is " + num1 + num2;
    
     6         alert(message);  
    
     7    </script>
    <script type="text/javascript">
    
                
    
            alert(null == undefined);    
    
            alert(null === undefined);   
    
            
    
            alert("NaN" == NaN);       
    
            alert("NaN" === NaN);      
    
            alert(NaN == NaN);         
    
            alert(NaN === NaN);        
    
            alert(NaN != NaN);        
    
            alert(NaN !== NaN);         
    
            
    
            alert(false == 0);       
    
            alert(false === 0);       
    
            alert(true == 1);        
    
            alert(true === 1);     
    
            
    
            alert(null == 0);         
    
            alert(undefined == 0);    
    
            
    
            alert(5 == "5");          
    
            alert(5 === "5");                   
    
        </script>
    答えを知っているなら、コメントエリアに書いてください.