六、条件语句
条件语句用于根据不同的条件执行不同的代码块。
如果语句
只有当括号内的表达式被求值为 true 时,if
语句才会执行。在 JavaScript 中,这不必是布尔表达式。它可以是任何表达式,在这种情况下,零、null、NaN、空字符串和未定义的变量被计算为 false,而所有其他值为 true。
if (x < 1) {
document.write("x < 1");
}
为了测试其他条件,if
语句可以被任意数量的else if
子句扩展。只有当前面的条件为假时,才会测试每个附加条件。
else if (x > 1) {
document.write("x > 1");
}
对于处理所有其他情况,可以在末尾有一个else
子句,如果所有先前的条件都为假,则执行该子句。
else {
document.write("x == 1");
}
如果只需要有条件地执行一条语句,可以省去花括号。但是,始终包含它们被认为是一种好的做法,因为它们可以提高代码的可读性。
if (x < 1)
document.write("x < 1");
else if (x > 1)
document.write("x > 1");
else
document.write("x == 1");
交换语句
switch
语句检查表达式和一系列 case 标签之间的相等性,然后将执行传递给匹配的 case。表达式可以是任何类型,并且将使用严格比较(===
)来匹配案例标签。开关可以包含任意数量的 case 子句,并且可以以处理所有其他情况的默认标签结束。
switch (x) {
case 0: document.write("x is 0"); break;
case 1: document.write("x is 1"); break;
default: document.write("x is not 0 or 1"); break;
}
注意,每个 case 标签后的语句以关键字break
结束,以跳过开关的其余部分。如果省略了 break,执行将一直进行到下一个案例,如果需要以相同的方式评估几个案例,这将非常有用。
三元运算符
除了if
和switch
语句之外,还有三元运算符(?:
,它为单个if else
语句提供了快捷方式。这个运算符有三个表达式。如果第一个为真,则计算并返回第二个表达式;如果为假,则计算并返回第三个。
// Ternary operator expression
y = (x === 1) ? 1 : 2;
在 JavaScript 中,该运算符也可以用作独立的代码语句,而不仅仅是表达式。
// Ternary operator statement
(x === 1) ? y = 1 : y = 2;
编程术语“表达式”指的是计算出一个值的代码,而语句是以分号或右花括号结束的代码段。
版权属于:月萌API www.moonapi.com,转载请注明出处