JavaScript if... Else 语句

在本教程中,你将学习如何使用 if ... else ... else if 编写 JavaScript 中的条件语句。

JavaScript 条件语句

与许多其他编程语言一样,JavaScript 还允许你根据运行时逻辑或比较测试条件的结果编写执行不同操作的代码。这意味着,你可以创建评估结果为 truefalse 的条件,基于评估结果,你可以执行某些操作。

JavaScript 中有几个条件语句可用于制定决策:

  • if 语句
  • if...else 语句
  • if...else if...else 语句
  • switch...case 语句

我们将在接下来的章节中详细讨论这些语句。

if 语句

if 语句用来仅当指定的条件评估为真执行代码块。这是最简单的 JavaScript 条件语句,可以写成:

if (condition) { // Code to be executed } 

以下示例将输出 Have a nice weekend,如果当天是星期五的话:

var now = new Date();
var dayOfWeek = now.getDay(); // Sunday - Saturday : 0 - 6

if(dayOfWeek == 5) {
    alert("Have a nice weekend!");
}

if...else 语句

你可以通过在 if 语句中添加 else 语句来提供替代选择,从而增强 JavaScript 程序的决策功能。 **

if...else 语句允许你如果指定的条件计算为真的话可以执行一个代码块,如果计算结果为假的话,执行另一个代码块。它可以这样编写:

if (condition) { 
    // Code to be executed if condition is true 
} else { 
    // Code to be executed if condition is false 
} 

以下示例中的 JavaScript 代码将输出 Have a nice weekend! 如果当天是星期五的话,否则它将输出文字 Have a nice day!

var now = new Date();
var dayOfWeek = now.getDay(); // Sunday - Saturday : 0 - 6

if(dayOfWeek == 5) {
    alert("Have a nice weekend!");
} else {
    alert("Have a nice day!");
}

if...else if...else 语句

if...else if...else 用来合并多个 if...else 语句。

if (condition1) { 
    // Code to be executed if condition1 is true 
} else if (condition2) { 
    // Code to be executed if the condition1 is false and condition2 is true 
} else { 
    // Code to be executed if both condition1 and condition2 are false 
} 

以下示例将输出 Have a nice weekend! 如果当天是星期五的话,输出 Have a nice Sunday! 如果当天是星期天,否则它将输出 Have a nice day!

var now = new Date();
var dayOfWeek = now.getDay(); // Sunday - Saturday : 0 - 6

if(dayOfWeek == 5) {
    alert("Have a nice weekend!");
} else if(dayOfWeek == 0) {
    alert("Have a nice Sunday!");
} else {
    alert("Have a nice day!");
}

你将在下一章中了解 JavaScript switch-case 语句

三元运算符

三元运算符提供了编写 if … else 语句的简便方法。三元运算符由问号(?)符号表示,它需要三个操作数:要检查的条件,ture 的结果和 false 的结果。它的基本语法是:

var result = (condition) ? value1 : value2 

如果条件计算为 true,则返回 value1,否则返回 value2。要了解此运算符的工作原理,请考虑以下示例:

var userType;
var age = 21;
if(age < 18) {
    userType = 'Child';
} else {
    userType = 'Adult';
}
alert(userType); // Displays Adult

使用三元运算符可以以更紧凑的方式编写相同的代码:

var age = 21;
var userType = age < 18 ? 'Child' : 'Adult';
alert(userType); // Displays Adult

正如你在上面的示例中所看到的,由于指定的条件计算为 false ,因此返回冒号(:) 右侧的值,即字符串 Adult

提示: 使用三元运算符编写的代码有时很难阅读。但是,它提供了编写紧凑的 if-else 语句的好方法。