ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScriptのswitch文の使い方を詳しく解説_基礎知識

JavaScriptのswitch文の使い方を詳しく解説_基礎知識

WBOY
リリース: 2016-05-16 15:56:50
オリジナル
1657 人が閲覧しました

前の章と同様に、複数の if...else if ステートメントを使用して、複数の分岐を実行できます。ただし、特にすべての分岐が 1 つの変数の値に依存する場合、これが常に最適な解決策であるとは限りません。

JavaScript 1.2 以降では、switch ステートメントを使用して、まさにこの状況を処理することができます。これにより、if...else if ステートメントを繰り返し使用する代わりに、より効率的に処理を行うことができます。
文法

switch ステートメントの基本構文は、式の値に基づいていくつかの異なるステートメントを評価および計算する式を提供します。インタプリタは、一致するものが見つかるまで、式の値をそれぞれのケースでチェックします。一致するものがない場合は、デフォルトの条件が使用されます。

switch (expression)
{
 case condition 1: statement(s)
          break;
 case condition 2: statement(s)
          break;
  ...
 case condition n: statement(s)
          break;
 default: statement(s)
}

ログイン後にコピー

break ステートメントは、特定の状況下でインタープリタを終了するように指示します。これらが省略された場合、インタプリタは次のそれぞれの場合に各ステートメントの実行を継続します。

break文についてはループ制御の章で説明します。
例:

次の例は、基本的な while ループを示しています。

<script type="text/javascript">
<!--
var grade='A';
document.write("Entering switch block<br />");
switch (grade)
{
 case 'A': document.write("Good job<br />");
      break;
 case 'B': document.write("Pretty good<br />");
      break;
 case 'C': document.write("Passed<br />");
      break;
 case 'D': document.write("Not so good<br />");
      break;
 case 'F': document.write("Failed<br />");
      break;
 default: document.write("Unknown grade<br />")
}
document.write("Exiting switch block");
//-->
</script>

ログイン後にコピー

これにより、次の結果が生成されます:

Entering switch block
Good job
Exiting switch block

ログイン後にコピー


例:

break ステートメントが使用されていない場合は、次のような状況を考慮してください。

<script type="text/javascript">
<!--
var grade='A';
document.write("Entering switch block<br />");
switch (grade)
{
 case 'A': document.write("Good job<br />");
 case 'B': document.write("Pretty good<br />");
 case 'C': document.write("Passed<br />");
 case 'D': document.write("Not so good<br />");
 case 'F': document.write("Failed<br />");
 default: document.write("Unknown grade<br />")
}
document.write("Exiting switch block");
//-->
</script>

ログイン後にコピー

これにより、次の結果が生成されます:

Entering switch block
Good job
Pretty good
Passed
Not so good
Failed
Unknown grade
Exiting switch block

ログイン後にコピー

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート