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