编辑这个页面须要登录或更高权限!

JavaScript 条件语句

if else 和 else if

条件语句是在指定条件为true时执行的一组命令。

在很多情况下,您都希望根据用户输入或其他因素来运行不同的代码块。

条件语句是计算机程序的逻辑,决策或流指定的一部分。

在JavaScript中,我们具有以下条件语句:

  • if语句

  • if...else语句

  • else...if语句

  • switch语句

我们将在下一章讨论switch语句。

JavaScript If语句

只有当if指定条件为 true 时,该语句才会执行代码。语法为:

if (condition) {
  //如果条件为真,则执行的代码块
}
if (x < 0) {
   document.getElementById("result").innerHTML = "NEGATIVE";
}
测试看看‹/›

JavaScript的if ... else语句

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>
测试看看‹/›

JavaScript的else...if语句

使用if...else,我们可以根据条件是对还是错来运行代码块。但是,有时我们可能有多种可能的条件和输出,并且需要的不仅仅是两个选项。执行此操作的一种方法是使用else...if语句,该语句可以评估两个以上可能的结果。语法为:

if (condition1) {
  //如果condition1为true,则要执行的代码块
} else if (condition2) {
  //如果condition1为false并且condition2为true,则要执行的代码块
} else {
  //如果condition1为false并且condition2为false则要执行的代码块
}
// 设置学生的当前等级
var grade = 88;

// 检查成绩是否为 A, B, C, D, or 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");
}
测试看看‹/›

嵌套if ... else语句

您可以使用嵌套的if ... else语句来增强JavaScript程序的决策能力。

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”。

JavaScript菜鸟教程
JavaScript 对象
JavaScript 函数
JS HTML DOM
JS 浏览器BOM
AJAX 菜鸟教程
JavaScript 参考手册