JavaScript が if/else ステートメントを決定する

if (条件 1)
  {
  当条件 1 为 true 时执行的代码;
  }
else if (条件 2)
  {
  当条件 2 为 true 时执行的代码;
  }
else
  {
  当条件 1 和 条件 2 都不为 true 时执行的代码;
  }

JavaScriptでは条件判定にif(){...}else{...}を使います。たとえば、年齢に基づいて異なるコンテンツを表示するには、if ステートメントを使用して次の内容を実装できます。

var age = 20;
if (age >= 18) { // 如果age >= 18为true,则执行if语句块
    alert('adult');
} else { // 否则执行else语句块
    alert('teenager');
}

else ステートメントはオプションです。ステートメント ブロックにステートメントが 1 つだけ含まれている場合は、{} を省略できます:

var age = 20;
if (age >= 18)
    alert('adult');
else
    alert('teenager');

{} を省略すると、後でステートメントを追加したいのに、{} を書き忘れた場合に、if...else が変更されてしまうという危険性があります。 .. . のセマンティクスは次のとおりです。

var age = 20;
if (age >= 18)
    alert('adult');
else
    console.log('age < 18'); // 添加一行日志
    alert('teenager'); // <- 这行语句已经不在else的控制范围了

上記のコードの else 句は、実際には console.log('age < 18'); の実行のみを担当し、元のalert('teenager'); を実行します。 if... else... は制御スコープ内に属しており、毎回実行されます。

逆に、{} を使用したステートメントは間違いありません:

var age = 20;
if (age >= 18) {
    alert('adult');
} else {
    console.log('age < 18');
    alert('teenager');
}

そのため、常に {} を記述することをお勧めします。

複数行の条件判定

より慎重に条件を判定したい場合は、複数のif...else...:

var age = 3;
if (age >= 18) {
    alert('adult');
} else if (age >= 6) {
    alert('teenager');
} else {
    alert('kid');
}

上記の複数のif...elseを組み合わせて使用​​することができます。 .. この組み合わせは、実際には if...else... の 2 つの層に相当します:

var age = 3;
if (age >= 18) {
    alert('adult');
} else {
    if (age >= 6) {
        alert('teenager');
    } else {
        alert('kid');
    }

しかし、通常は可読性を高めるために else if を一緒に書きます。ここでの else には if 文のみが含まれるため、{} を省略しても問題はありません。最後の個別の else は、{} を省略しないでください。

if...else... ステートメントの実行機能は、複数の if...else... ステートメントのうち、特定の条件が true の場合、それ以上の判定は行われないことに注意してください。続けて。

次のコードでティーンエイジャーが表示される理由を説明してください:

'use strict';
var age = 20;
if (age >= 6) {
    alert('teenager');
} else if (age >= 18) {
    alert('adult');
} else {
    alert('kid');
}

年齢の値は 20 なので、実際には、年齢 >= 6 と年齢 >= 18 という条件を同時に満たします。これは、次の順序が示されています。条件判断は非常に重要です。アダルト表示できるように修正してください。

if 条件判定文の結果が true または false でない場合はどうなりますか?例:

var s = '123';
if (s.length) { // 条件计算结果为3
    //
}

JavaScript は、null、未定義、0、NaN および空の文字列'' を false として扱い、その他のすべての値を true として扱うため、上記のコードの条件判定の結果は true になります。

学び続ける
||
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>if...else</title> <script type="text/JavaScript"> var myage =99;//赵红的年龄为99 if(myage<=44) {document.write("青年");} else if(myage<=59) {document.write("中年人");} else if(myage<=89) {document.write("老年人");} else {document.write("长寿老年人");} </script> </head> <body> </body> </html>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜