JavaScript演算子と論理分岐
6705 ワード
演算子
単項演算子
一つの値しか操作できない演算子を一項演算子と呼びます.
値演算子をイコール(=)で表します.右の値を左の変数に割り当てます.複合割当演算子はx=の形で表され、xは算術演算子を表します.例えば:+=-=,*===,%=など
比較用の演算子を演算子と呼びます.
関係演算子の比較規則:数字と数字を比較して、直接サイズを比較します. 数字と文字列を比較し、文字列を数字に変換してから を比較する.文字列と文字列を比較し、文字のASCIIコード値比較 を行う. 比較注意事項:ブール値ture=1、false=0 NaNを含む演算はすべてfalseであり、undefinedとnullはいずれも0またはflase に等しくない.恒久などを求めるなら、値とタイプは同じでなければなりません.
論理演算子は通常、ブール値の動作に用いられます.一般的には関係演算子と組み合わせて使用されます.3つの論理演算子があります.論理和和和&(AND)、論理または||(OR)、論理非!(NOT)
&論理和:最初の操作数がfalseであれば、2番目の数はtrueであれfalseであれ、falseであれ、いずれもfalseに戻ります.シンボルの両方の操作数はtrueに戻ります.そうでないとfalseに戻ります.
文字列演算子:文字列演算子は一つしかありません.すなわち「+」です.その役割は二つの文字列を加算することです.ルール:少なくとも一つの操作数は文字列です.
三項演算子(三項条件演算子):式?値1:値2表式の値がtrueであれば、結果は1を取ります.そうでないと値2になります
|演算子?記述??---------------------------------------------------------------:124124; 124124;?.[]()124;対象メンバーのアクセス、配列の下付き、関数の呼び出しなど||++~!delete new type of void?一元演算子??乗算、除算、残?+124;加算、減算、文字列接続?<>>>>>>>|シフト|?===stance関係、比較関係!恒等(全等)??と124124124;の位が異なる、124124124124;?の位と124124124124;の論理と124124124124124; 124124; 124124;の論理と124124124; 124; 124124; 124; 124; 124; 124;の論理と124124124; 124; 124124; 124; 124; 124; 124; 124;の論理と124124124;?三元条件124=x=124の賦値、演算割当値124=x=12464;の賦値、演算割当値12464;、124の多重賦値、配列要素124
表式
表式はjavascriptの中の一つのフレーズで、表式は計算に用いることができる式子、すなわち値を生成することができる式子を意味します.変数名も簡単な表現です.その値は変数に割り当てられた値です.複雑な表現は演算子と演算子(変数または定数)からなる式を演算子演算子といいます.演算式関係演算子からなる式を、関係式または条件式論理演算子からなる式を、論理式といいます.a+5;c>3;a&bなど
フロー制御
JavaScriptには三つの基本的なフロー制御構造があります.順序構造、選択構造、循環構造、フロー制御はコードの実行順序を制御するために使います.JavaScripはシーケンス構造に選択構造と循環構造を含めることができる.
順序構造:語句の順序に従って順次実行すること.
選択構造:与えられた論理条件に従って実行順序を決定すること.選択構造は、一方向選択、双方向選択、多方向選択に分けられます.ただし、一方向または多方向選択に関わらず、プログラムは実行中に一つの分岐しか実行できません.
循環構造とは、コードの論理条件に基づいて、あるプログラムを繰り返し実行するかどうかを判断することです.論理条件がtrueであれば、繰り返し実行します.すなわちサイクルに入ります.そうでなければサイクルを終了します.
循環構造は先に論理条件を判断してもいいし、循環体を先に実行してもいいです.
if単支文
注意: ifの後ろの()は省略できません. 実行文は省略できます.複数の場合は省略してはいけません.一つでも複数でも{} を書くことをおすすめします.
ifバイパス文の書き方:
注意:else文はif文と組み合わせる必要があります.
ifマルチ分岐文
if多分岐文の書き方:
ifの入れ子
if文ブロック全体を別のif文ブロックに挿入します.
そろえるコードを作成する時、elseは一番近いifとペアになります.
需要:輸出年齢別の呼称:少年:18歳以下、青年:18歳から40歳まで、中年:40歳から60歳まで、老年:60歳以上
赤ちゃん(0歳~1歳)、子供(1歳~4歳)、子供(4歳~7歳)、中童(7歳~13歳)、大童(13歳~18歳)、大人は18歳です.
switch case文
異なる条件に基づいて異なる動作を実行するために、複数の条件があれば、ネストされたif文を用いて解決することができるが、この方法はプログラムの複雑さを増し、プログラムの可読性を低下させる.
単項演算子
一つの値しか操作できない演算子を一項演算子と呼びます.
// ,
// ,
:
var x=5;
var num1=++x; // x=x+1; var num1=x;
console.log('num1='+num1+' x='+x); //num1=6 x=6
:
var x=5;
var num2=x++; // var num2=x; x=x+1;
console.log('num2:'+num2+' x:'+x); //num2=5 x=6
:
var x=5;
var num3=--x; // x=x-1; var num3=x;
console.log('num3='+num3+' x='+x); //num3=4 x=4
var x=5;
var num4=x--; // var num4=x; x=x-1;
console.log('num4='+num4+' x='+x); //num4=5 x=4
他の種類には、単項演算子の規則が適用されます.var b = '89';
b++; //90,
var b= 'ab';
b++; //NaN, NaN
var b = false;
b++; //1,false 0, 1
var b = 2.3;
b++; //3.3, 1
割り当て演算子値演算子をイコール(=)で表します.右の値を左の変数に割り当てます.複合割当演算子はx=の形で表され、xは算術演算子を表します.例えば:+=-=,*===,%=など
= x=2;
+= x+=3; x=x+3;
-= x-=3; x=x-3;
*= x*=3; x=x*3;
-= x/=3; x=x/3;
%= x%=3; x=x%3;
関係演算子比較用の演算子を演算子と呼びます.
関係演算子の比較規則:
> , true, false。
3>2 //true
< , true, false。
2<3 //true
>= , true, false。
2>=2 //true
3>=2 //true
<= 。 , true, false。
2<=2 //true
2<=3 //true
== , true, false
2==2 //true
2=='2' //true
!= , true, false。
2!=5 //true
=== ( ) , true, false。
55==='55' //false
55===55 //true
!== ( ) , true, false。
55!=='55' //true
55!==55 //false=0
ture=1, false=0
false == 0 //true
true == 1 //true
true == 2 //false
undefined null , , 。
null == undefined //true
null === undefined //false
NaN false
'NaN' == NaN //false
5 == NaN //false
NaN == NaN //false
undefined null 0,flase
null == 0 //false
null == false //false
undefined == 0 //false
undefined == false //false
論理演算子論理演算子は通常、ブール値の動作に用いられます.一般的には関係演算子と組み合わせて使用されます.3つの論理演算子があります.論理和和和&(AND)、論理または||(OR)、論理非!(NOT)
&論理和:最初の操作数がfalseであれば、2番目の数はtrueであれfalseであれ、falseであれ、いずれもfalseに戻ります.シンボルの両方の操作数はtrueに戻ります.そうでないとfalseに戻ります.
var flag=(true) && (true) //true
var flag=(false) && (true) //false
var flag=(false) && (false) //false
|?論理あるいは:もし第一操作数の求値がtrueであれば、第二の数はtrueであれfalseであれ、trueに戻る.すなわち、シンボルの両方の動作数は同時に偽であり、falseに戻ります.そうでないとtrueに戻ります.var flag=(false) || (false) //false
var flag=(true) || (true) //true
var flag=(true) || (false) //true
!論理非演算子は、任意の値に使用できます.この値がどんなデータタイプであっても、この演算子はブール値を返します.その流れは、まずこの値をブール値に変換してから反対を取るというルールです. , false, true
var flag=!(true); //false
var flag=!(false); //true
, true; , false
var flag=!('') //true
var flag=!('test') //false
0, true; 0 ( Infinity), false
var flag=!(0) //true
var flag=!(1) //false
NaN, true
var flag=!(NaN) //true
undefined, true
var flag=!(undefined) //true
文字列演算子文字列演算子:文字列演算子は一つしかありません.すなわち「+」です.その役割は二つの文字列を加算することです.ルール:少なくとも一つの操作数は文字列です.
var result1='hello'+'world'; // ,
console.log(result1); //helloworld
console.log(typeof result1);
// , , ,
var result2='hello'+2;
console.log(result2); //hello2
console.log(typeof result2);
三項演算子(三項条件演算子)三項演算子(三項条件演算子):式?値1:値2表式の値がtrueであれば、結果は1を取ります.そうでないと値2になります
:( true, 1。 2。)
? 1 : 2
var age=11;
var status = (age >= 18) ? "major" : "minor";
age 18 , “major” status; “minor” status。
演算子の優先度|演算子?記述??---------------------------------------------------------------:124124; 124124;?.[]()124;対象メンバーのアクセス、配列の下付き、関数の呼び出しなど||++~!delete new type of void?一元演算子??乗算、除算、残?+124;加算、減算、文字列接続?<>>>>>>>|シフト|?===stance関係、比較関係!恒等(全等)??と124124124;の位が異なる、124124124124;?の位と124124124124;の論理と124124124124124; 124124; 124124;の論理と124124124; 124; 124124; 124; 124; 124; 124;の論理と124124124; 124; 124124; 124; 124; 124; 124; 124;の論理と124124124;?三元条件124=x=124の賦値、演算割当値124=x=12464;の賦値、演算割当値12464;、124の多重賦値、配列要素124
表式
表式はjavascriptの中の一つのフレーズで、表式は計算に用いることができる式子、すなわち値を生成することができる式子を意味します.変数名も簡単な表現です.その値は変数に割り当てられた値です.複雑な表現は演算子と演算子(変数または定数)からなる式を演算子演算子といいます.演算式関係演算子からなる式を、関係式または条件式論理演算子からなる式を、論理式といいます.a+5;c>3;a&bなど
フロー制御
JavaScriptには三つの基本的なフロー制御構造があります.順序構造、選択構造、循環構造、フロー制御はコードの実行順序を制御するために使います.JavaScripはシーケンス構造に選択構造と循環構造を含めることができる.
順序構造:語句の順序に従って順次実行すること.
選択構造:与えられた論理条件に従って実行順序を決定すること.選択構造は、一方向選択、双方向選択、多方向選択に分けられます.ただし、一方向または多方向選択に関わらず、プログラムは実行中に一つの分岐しか実行できません.
循環構造とは、コードの論理条件に基づいて、あるプログラムを繰り返し実行するかどうかを判断することです.論理条件がtrueであれば、繰り返し実行します.すなわちサイクルに入ります.そうでなければサイクルを終了します.
循環構造は先に論理条件を判断してもいいし、循環体を先に実行してもいいです.
if単支文
if :
if( ){
}
括弧内の表式結果が成立すると、大括弧内の文が実行されません.注意:
ifバイパス文の書き方:
if( ){
1
}
else{
2
}
if括弧内の表現結果が成立すると、実行文1が実行されます.そうでないと実行文2が実行されます.注意:else文はif文と組み合わせる必要があります.
ifマルチ分岐文
if多分岐文の書き方:
if( ){
1
}
else if( 2){
2
}
else if( 3){
3
}
else{
n
}
上から下へ、どの条件を満たすかに応じた語句を実行します.すべて満たさない場合、最後のelseを実行する語句は、その中の一つにのみ入ります.ifの入れ子
if文ブロック全体を別のif文ブロックに挿入します.
if ( 1) {
if ( 2) {
if ( 3){
;
}
else{
;
}
}
else{
;
}
}
注意:ifを入れ子にした場合、3層を超えないようにしてください.内部レイヤーの各ペアはif...elseコードはインデントされます.そろえるコードを作成する時、elseは一番近いifとペアになります.
需要:輸出年齢別の呼称:少年:18歳以下、青年:18歳から40歳まで、中年:40歳から60歳まで、老年:60歳以上
赤ちゃん(0歳~1歳)、子供(1歳~4歳)、子供(4歳~7歳)、中童(7歳~13歳)、大童(13歳~18歳)、大人は18歳です.
switch case文
異なる条件に基づいて異なる動作を実行するために、複数の条件があれば、ネストされたif文を用いて解決することができるが、この方法はプログラムの複雑さを増し、プログラムの可読性を低下させる.
//n / , n a1、a2、…… , n , , break , switch ; n , default 。
switch(n)
{
case a1:
1
break;
case a2:
2
break;
default:
case a1 case a2
}