mozilla
Your Search Results

    switch リダイレクト 2

     

    概要

    式を評価し、その式の値が case のラベルと一致するなら、その case に関連付けられた文を実行します。

    実装されたバージョン: JavaScript 1.2, NES 3.0
    ECMA バージョン: ECMA-262, Edition 3

    構文

    switch (expression) {
       caselabel1:statements1
          [break;]
       caselabel2:statements2
          [break;]
       ...
       caselabelN:statementsN
          [break;]
       default:statements_def
          [break;]
    }
    

    パラメータ

    expression
    各ラベルと一致するか調べる式。
    labelN
    expression と一致するか調べるのに使う識別子。
    statementsN
    expression が、関連付けられたラベルと一致するなら実行される文。
    statements_def
    expression がいずれのラベルにも一致しなかったのなら実行される文。

    説明

    もし一致するものが見つかれば、プログラムは関連付けられた文を実行します。もし複数の case が与えられた値に一致するなら、たとえ case がお互いに等しくなくても、一致した最初の case が選択されます。

    プログラムは最初に式の値と一致するラベルを持つ case 節を探し、そしてその節に制御を移し、関連付けられた文を実行します。もし一致するラベルが見つからなければ、プログラムは省略可能な default 節を探します。そしてもし見つかれば、その節に制御を移し、関連付けられた文を実行します。もし default 節が見つからなければ、プログラムは switch の終わりに続く文から実行を継続します。規約により、default 節は最後の節ですが、そうである必要はありません。

    各ケースのラベルに関連付けられた省略可能な break 文は、一度一致した文が実行されたら、プログラムが switch から抜け出し、switch に続く文から実行を継続することを保証します。もし break が省略されたなら、プログラムは switch 文の中の次の文から実行を継続します。

    例: switch を使う

    次の例では、もし expression が "Bananas" に評価されるなら、プログラムは case "Bananas" で値に一致し、関連付けられた文を実行します。break と遭遇したときは、プログラムは switch から抜け出し、switch に続く文を実行します。もし break が省略されたなら、case "Cherries" に対する文も実行されます。

    switch (expr) {
       case "Oranges":
          document.write("Oranges are $0.59 a pound.<br>");
          break;
       case "Apples":
          document.write("Apples are $0.32 a pound.<br>");
          break;
       case "Bananas":
          document.write("Bananas are $0.48 a pound.<br>");
          break;
       case "Cherries":
          document.write("Cherries are $3.00 a pound.<br>");
          break;
       case "Mangoes":
       case "Papayas":
          document.write("Mangoes and papayas are $2.79 a pound.<br>");
          break;
       default:
          document.write("Sorry, we are out of " + expr + ".<br>");
    }
    document.write("Is there anything else you'd like?<br>");
    

     

     

    ドキュメントのタグと貢献者

    Contributors to this page: ethertank
    最終更新者: ethertank,