08-比较运算符和条件语句
3.4.3 比较运算符和条件语句
条件语句让您能够在应用程序中实现这样的逻辑,即仅当满足条件时才执行某些代码,这是通过比较变量的值实现的。接下来的几小节将介绍JavaScript比较运算符以及如何在条件语句中使用它们。
比较运算符
比较运算符对两项数据进行比较,如果它们满足指定的条件,就返回true,否则返回false。比较运算符将它左边的值与它右边的值进行比较。
为帮助您理解JavaScript比较语法,最简单的方式是提供一系列示例。表3.3列出了比较运算符以及一些示例。
| 运算符 | 描述 | 示例 | 结果 | | :----- | :----- | :----- | :----- | :----- | :----- | | == | 等于(只考虑值) | x==8 x==10 | false true | | === | 值和类型都相同 | x===10 x===“10” | true false | | != | 不等 | x!=5 | true | | !== | 值和类型都不相同 | x!==“10” x!==10 | true false | | > | 大于 | x>5 | true | | >= | 大于等于 | x>=10 | true | | < | 小于 | x<5 | false | | <= | 小于等于 | x<=10 | true |
可使用逻辑运算符和小括号将多个比较连接起来。表3.4列出了逻辑运算符并指出了如何使用它们将多个比较连接起来。
| 运算符 | 描述 | 示例 | 结果 | | :----- | :----- | :----- | :----- | :----- | :----- | | && | 与 | (x==10 && y==5) (x==10 && y>x) | true false | | || | 或 | (x>=10 || y>x) (x<10 && y>x) | true false | | ! | 非 | !(x==y) !(x>y) | true false | | 混用 | (x>=10 && y<x || x==y) ((x<y || x>=10) && y>=5) (!(x==y) && y>=10) | true true false |
if语句
if语句让您能够根据比较结果执行不同的代码,下面的代码行演示了其语法,其中条件放在小括号内,而条件为true时将执行的代码放在大括号({})内:
if(x==5){
do_something();
}
除在条件满足时执行的if语句块外,还可指定在条件不满足时执行的else语句块,如下所示:
if(x==5){
do_something();
} else {
do_something_else();
}
还可串接多条if语句。为此,可添加else语句和条件语句,如下所示:
if(x<5){
do_something();
} else if(x<10) {
do_something_else();
} else {
do_nothing();
}
switch语句
另一种条件逻辑是switch语句,它让您能够计算表达式的值,并据此执行众多代码块中的一个。
switch语句的语法如下:
switch(expression){
case value1:
<code to execute>
break;
case value2:
<code to execute>
break;
default:
<code to execute if not value1 or value2>
}
这条switch语句计算expression的值(它可以是字符串、数字、布尔值乃至对象),再将其与每条case语句指定的值进行比较。如果相同,就执行相应case语句中的代码。如果没有case语句与之匹配,就执行default语句指定的代码。
提示:
通常,每条case语句末尾都包含一个break,它表示退出switch语句。如果没有遇到break命令,将继续执行下一条case语句。