ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScriptでのスイッチの使い方と注意点を詳しく解説

JavaScriptでのスイッチの使い方と注意点を詳しく解説

伊谢尔伦
伊谢尔伦オリジナル
2017-07-18 14:49:431677ブラウズ

構文

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=&#39;A&#39;;
document.write("Entering switch block<br />");
switch (grade)
{
 case &#39;A&#39;: document.write("Good job<br />");
      break;
 case &#39;B&#39;: document.write("Pretty good<br />");
      break;
 case &#39;C&#39;: document.write("Passed<br />");
      break;
 case &#39;D&#39;: document.write("Not so good<br />");
      break;
 case &#39;F&#39;: 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

例:

if Break が使用されていない状況を考えてみましょう ステートメント:


<script type="text/javascript">
<!--
var grade=&#39;A&#39;;
document.write("Entering switch block<br />");
switch (grade)
{
 case &#39;A&#39;: document.write("Good job<br />");
 case &#39;B&#39;: document.write("Pretty good<br />");
 case &#39;C&#39;: document.write("Passed<br />");
 case &#39;D&#39;: document.write("Not so good<br />");
 case &#39;F&#39;: 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

JavaScriptのスイッチ使用に関する注意事項

<script>
var t_jb51_net = 65;
switch (t_jb51_net) {
case &#39;65&#39;:
alert("字符串65。jb51.net");
break;
}
</script>

ダイアログボックスはポップアップせず、アラートも実行されないことがわかります。

原因分析:

ここで明確にしておく必要があるのは、switch は判定を行う際に合同符号「===」を使用するということです。合同符号を比較する際に最初に確認する必要があるのは、データ型が同じであるかどうかです。ここで、t_jb51_net は数値型、「65」は文字列型です。

次のコードはダイアログ ボックスをポップアップ表示します:

<script>
var t_jb51_net = 65;
switch (t_jb51_net) {
case 65:
alert("数字65。jb51.net");
break;
}
</script>

以上がJavaScriptでのスイッチの使い方と注意点を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。