条件语句是在指定条件为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) { //如果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语句来增强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”。