TL;DR
- 使用关键字
if定义条件语句,只有当条件满足(值为true)时执行相关的代码块。 - 条件是一个结果为布尔值(
true或false)的表达式。 - 与
if关联的代码块使用一组花括号({...})包围,为了提高代码可读性,通常将花括号内代码向右缩进。 - 比较运算符
===、!==、<、<=、>、>=用于比较条件内的数字,返回一个布尔值。 else语句可以与if语句关联,以表示替代方案。根据条件的值,执行if关联的代码块或else关联的代码块,不会同时执行。条件嵌套的深度没有限制。- 可以使用逻辑运算符(
&&、||、!)创建复杂的条件。 switch语句用于执行多个代码块中的一个代码块,具体取决于表达式的值。
什么是条件
if 语句
if语句语法:
1 | if (condition) { |
当只有一句条件语句时,可以省略花括号(
{...}),但对初学者来说,应该始终使用花括号。
条件
条件(Condition)是一个表达式,其结果为 true 或 false,称为布尔(Boolean)值。布尔值是 JavaScript 的另一种数据类型,它只有两个可能值:true 或 false。
任何生产生布尔值的表达式都可以作为 if 语句的条件。如果该表达式的值为 true,则执行与其关联的代码块。
可以使用以下运算符来创建布尔表达式:
| 运算符 | 意义 |
|---|---|
| === | 等于 |
| !== | 不等于 |
| < | 小于 |
| <= | 小于等于 |
| > | 大于 |
| >= | 大于等于 |
- 等于和不等于运算符也可以写作
==和!=,但使用===和!==更加安全。- 注意区分等于运算符(
===)与赋值运算符(=)。
替代条件
else 语句
当条件为 true 时,执行 if 语句,否则,执行 esle 语句:
1 | if (condition) { |
嵌套条件
else 语句中可以再添加 if 语句:
1 | if (condition1) { |
- 初学时,最好为每个嵌套条件添加描述性注释。
- 条件嵌套的层数没有限制,但如果太多,会影响程序的执行。
添加其他逻辑
&&(与)运算符
&&(与)运算符可以应用于两种类型的布尔值,只有两个条件的值都为 true 时,其结果才为 true,否则为 false:
1 | console.log(true && true); // true |
||(或)运算符
||(或)运算可以使参数运算的任意一个条件为 true 时,返回的结果就为 true,否则为 false:
1 | console.log(true && true); // true |
!(非)运算符
!(非)运算将一个参数转化为布尔类型(true或false),并返回相反的值:
1 | console.log(!true); // false |
多种选择
当程序需要根据表达式的值触发多个代码块时,可以使用 switch 语句。 switch 语句执行多个代码块只的一个,仅执行与相关条件匹配的代码块。
1 | switch (expression) { |
default为可选语句,可以用来处理错误或意外值。case后面的break;用来退出switch语句。