English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
条件がtrueである場合に実行されるコマンドのセットが条件文です。
多くの場合、ユーザー入力や他の要因に応じて異なるコードブロックを実行したいとします。
条件文はコンピュータプログラムのロジック、決定またはフロー指定の一部です。
JavaScriptでは以下のような条件文があります:
if文
if...else文
else...if文
switch文
次の章でswitch文について説明します。
if指定条件为trueの時にのみ、この文がコードを実行します。構文は以下の通りです:
if (condition) { //条件が真の場合に実行するコードブロック }
if (x < 0) { document.getElementById("result").innerHTML = "NEGATIVE"; }テストをしてみて‹/›
if ... else文は、指定された条件がtrueの場合に一つのコードブロックを実行し、条件がfalseの場合に別のコードブロックを実行することができます。構文は以下の通りです:
if (condition) { //条件が真の場合に実行するコードブロック } else { //条件が偽の場合に実行するコードブロック }
var x = -4; if (x < 0) { msg = "NEGATIVE"; } else { msg = "POSITIVE"; }テストをしてみて‹/›
ユーザーが画像をクリックすると、以下の例では画像のsrc属性の値が変更されます:
<img id="demo" onclick="changeImage()" src="avatar-female.jpg"> <script> function changeImage() { var image = document.getElementById("demo"); if (image.src.match("female")) { image.src = "avatar-male.jpg"; } else { image.src = "avatar-female.jpg"; } } </script>テストをしてみて‹/›
if ... elseを使用すると、条件が真か偽かによってコードブロックを実行できます。しかし、時には複数の条件と出力が存在し、単なる二つの選択肢だけでは不十分な場合があります。この操作を行う一つの方法はelse ... if文の使用です。この文は、二つ以上の可能な結果を評価できます。構文は以下の通りです:
if (condition1) { //conditionが1trueの場合に実行するコードブロック } else if (condition2) { //conditionが1falseでcondition2trueの場合に実行するコードブロック } else { //conditionが1falseでcondition2falseの場合に実行するコードブロック }
// 学生の現在のレベルを設定します var grade = 88; // 成績がA、B、C、D、またはFであるか確認します if (grade >= 90) { document.write("A"); } else if (grade >= 80) { document.write("B"); } else if (grade >= 70) { document.write("C"); } else if (grade >= 60) { document.write("D"); } else { document.write("F"); }テストをしてみて‹/›
JavaScriptプログラムの決定能力を高めるために、ネストされたif ... else文を使用できます。
var a = 10, b = 20, c = 30; var answer; if (a > b) { if (a > c) { answer = "Aは三つのうち最大の"; } else { answer = "Cは三つのうち最大の"; } } else if (b > c) { answer = "Bは三つのうち最大の"; } else { answer = "Cは三つのうち最大の"; }テストをしてみて‹/›
三元演算子はif ... else文の簡略化を提供します。
三元演算子は問号(?)と冒号(:)の文法で書かれます。以下のようになります:
(condition) ? expression on true : expression on false
上記の文法では、condition最初に書き込まれ、その後は?が書き込まれます。最初の式はtrue上実行し、次の式はfalse上実行。
三元演算子の動作方法を理解するために、以下の例を考えてみてください:
var status = (age >= 18) ? "adult" : "minor";テストをしてみて‹/›
年齢が18歳以上の場合、上記の文は「adult」の値を変数statusに割り当てます。それ以外の場合、statusに「minor」の値を割り当てます。