JavaScript(五)——操作子(二)を最初から学びます.
13343 ワード
一、乗法操作子
1、乗算:*
乗算演算子の特殊な規則:操作数がすべて数値である場合、通常の乗算によって計算され、積がECMAScript値の表示範囲を超えた場合、infinityまたは-infinity に戻る.操作数がNaNであれば、NaN を返します. infinityであれば0に乗り、NaN に戻る. infinityが非0の数と乗れれば、infinityまたは-infinity に戻る. infinityはinfinityと乗り、infinity に戻ります.操作数が数値ではない場合、バックグラウンドは先にnumber()を呼び出して数値に変換し、上の規則 を適用する.
2、除法:
除算操作器の特殊規則の一部:操作数がすべて数値である場合、従来の除算法で計算し、ECMAScript値の表示範囲を超えた場合、infinityまたは-infinity に戻る.操作数がNaNであれば、NaN を返します. infinityであればinfinityによって除去され、NaN に戻る. 0であれば、NaN に戻ります.非0の有限数が0で除かれたら、infinityまたは-infinity に戻ります. infinityであれば、非0の有限数によって除かれ、infinityまたは-infinity に戻る.操作数が数値ではない場合、バックグラウンドは先にnumber()を呼び出して数値に変換し、上の規則 を適用する.
3、求模式(剰余):%
モジュレータの特殊な規則を求めます.操作数がすべて数値である場合、従来の除算法に従って計算し、割り算された剰余数 を返します.除数が無限大であれば、除数は有限数であり、その結果がNaN である.除数が有限であれば、除数は0であり、NaN に戻る. infinityであればinfinityによって除去され、NaN に戻る.除数が有限であり、除数が無限大であれば、除数 に戻る.除数が0なら、0 に戻る.操作数が数値ではない場合、バックグラウンドは先にnumber()を呼び出して数値に変換し、上の規則 を適用する.
二、アダプティブ操作子
1、加算操作子:+
操作数の一つが文字列である場合:もし両方の操作数が文字列であれば、第二の操作数を第一の操作数の後につづり合わせる. 操作数が文字列である場合、他の動作数を文字列に変換して上記規則を実行する .
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、簡単に操作符を割り当てます.
七、コンマ操作子
コンマ操作子は、1つの文で複数の操作を行うことができます.
用途:1、複数の変数を宣言する
練習エリア:
1、乗算:*
乗算演算子の特殊な規則:
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、除法:
除算操作器の特殊規則の一部:
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、求模式(剰余):%
モジュレータの特殊な規則を求めます.
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、等しいかどうか:==と!
この二つのオペレータは操作数を同じタイプに変えて比較します.
変換する時、等しいかどうかは以下の規則に従います.
比較時の特殊ルール:
==操作数を同じ種類の比較に変換します.
==変換されないタイプ、直接比較
たとえば:
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>
答えを知っているなら、コメントエリアに書いてください.