JavaScriptプログラムにおけるフロー制御文の使い方のまとめ

2876 ワード

条件判定文1.if文

if (condition) statement1 else statement2
ここでのcondition条件は任意の表現であり、この表式に対する求値結果はブール値ではない.ECMAScriptはBoolean()変換関数を自動的に呼び出し、この表式の結果をブール値に変換します.conditionの値を求める結果がtrueであれば、statement 1を実行し、conditionの値を求める結果がfalseであれば、statement 2を実行する.この2つの語句は1行のコードでもいいし、コードブロックでもいいです.

if (condition1) statement1 else if(condition2) statement2 else statement3
2.switch文

switch(expression) {
  case value: statement
    break;
  case value: statement
    break;
  case value: statement
    break;
  default: statement
}
switch文のcaseごとの意味は、「表現がこの値valueに等しい場合、後のステートメントstatementを実行する」ということです.breakはコード実行のためにswitch文を飛び出す.breakキーを省略すると、現在のcaseを実行した後、次のcaseを実行します.最後のdefaultキーワードは、表式が前のいずれかに一致しない場合に、機動コードを実行するために使用されます.
例1

var num = 25;
switch (true) {
  case num < 0:
    alert("Less than 0");
    break;
  case num >= 0 && num <= 10:
    alert("Between 0 and 10");
    break;
  case num > 10 && num <= 20:
    alert("Between 10 and 20");
    break;
  default:
    alert("More than 20");
}
注意:switch文は比較値ではフルオペレータを使用していますので、タイプ変換は発生しません.
ステートメントを循環させて、循環文をテストします.表式に対して値を求める前に、循環体のコードは少なくとも一回実行されます.
1.do-while文

do {
  statement
} while (expression);
例2

var i = 0;
  do {
    i += 2;
  } while (i < 10);
  alert(i);//10
前テスト循環文2.while文

while(expression) statement
例3

 var i = 0;
  while(i < 10) {
    i += 2;
  }
  alert(i);//10
3.for文はループを実行する前に変数を初期化し、ループを定義した後にコードを実行する能力を持っています.例4

for(var i = 0;i < 10;i++) {
  alert(i);
}
反復文for-i-n文for-i-nは正確な反復文で、オブジェクトの属性を列挙するために使用されます.

for (var prop in window) {
    console.log(prop);
  }
ECMAScriptオブジェクトの属性には順序がありません.したがって、for-i-nを通じて循環的に出力される属性名は予測できません.具体的には、すべての属性が一回返されます.一眼レフ破壊の順序はブラウザによって異なるかもしれません.使用前に、このオブジェクトの値がnullやunefinedではないことを確認しておくことをおすすめします.
制御実行文break文は直ちに循環例を終了します.

 var num = 0;
  for(var i = 1;i < 10;i++) {
    if(i % 5 == 0) {
      break;
    }
    num++;
  }
  alert(num);//4
continue文は現在実行されている循環コードを終了し、循環を開始します.

var num = 0;
    for(var i = 1;i < 10;i++) {
      if(i % 5 == 0) {
        continue;
      }
      num++;
    }
    alert(num);//8
return文は戻り値を指定してもいいし、指定しなくてもいいです.1.return文は停止してすぐに関数を終了します.return後の文も永遠に実行されません.2.return文は関数の中でしか現れません.そうでないと自動的に文法エラーを報告します.