1. 判断条件和条件语句
- 判断由两部分组成
- 一个进行判断的表达式,它会返回一个值
- 一个条件语句,用于说明在某种特定情况下应该执行什么操作
- 为了完成判断,代码会检查脚本的当前状态。通常会使用比较操作对两个值进行比较,然后返回 true/false 作为判断条件。
- 条件语句基于如果(if)/那么(then)/否则(else)这样的概念来工作。如果(if)满足某个条件,那么(then)代码执行一条或多条语句,否则(else)执行其他语句(或跳过这个步骤)。
| |
- 可以将两个或多个比较操作符组合起来一起形成多个条件。
2. 比较操作符:判断条件
- 可以在脚本中通过比较一个值和你期望的值来进行条件判断,其结果会是布尔类型:true 或 false。
- 程序员把测试或检查条件叫做判断条件,条件可以非常复杂,但是都会返回 true 或 false。
==等于操作符比较两个值是否相等。!=不等于操作符比较两个值是否不同。===严格等于操作符比较两个值,并检查它们的数据类型和值是否完全相同。!==严格不等于操作符比较两个值,并检查它们的数据类型和值是否不完全相同。>大于操作符会检查左边的数字是否大于右边的数字。<小于操作符会检查左边的数字是否小于右边的数字。<=小于等于操作符会检查左边的数字是否小于等于右边的数字。>=大于等于操作符会检查左边的数字是否大于等于右边的数字。
3. 在算术操作符中使用表达式
- 操作数不一定必须是数值或者变量名,也可以是表达式。
| |
4. 逻辑操作符
- 逻辑操作符允许将多个比较操作符的结果放在一起进行比较。
| |
&&逻辑与操作符检测如果两个表达式结果是 true,那么返回 true,否则返回 false。||逻辑或操作符检测至少一个条件为 true,那么返回 true,否则返回 false。!逻辑非操作符操作单一的布尔变量,并对它的结果取反。- 短路条件:逻辑表达式会从左到右进行计算,如果一个条件能确认最终的结果,那么后面的条件就不会被执行。
5. if 语句
- if 语句会对一个条件进行判断,如果这个条件的结果为 true,就会执行后续代码块中的代码。
- 如果条件的结果是 false,后续代码块中的语句不会被执行,脚本会继续执行这个代码块后面的语句。
| |
6. if-else 语句
- if-else 语句同样用来条件判断。
- 如果条件的结果是 true,那么第一个代码块会被执行。
- 如果条件的结果是 false,那么执行第二个代码块中的内容。
| |
7. switch 语句
- switch 语句的开头是一个被称为分支值的变量,每个 case 表示一个条件,当条件的值和这个变量的值相匹配时,它后面的代码就会被执行。
- 如果以上情况都不匹配,则会执行 default 语句块中的内容。
- 在每个 case 的最后由一个 break 关键字。它会告诉 JavaScript 解释器 switch 语句已经执行完毕,继续执行 switch 后面的内容。
| |
8. 强制类型转换和弱类型
- 如果使用的数据类型和 JavaScript 所需的类型不一致,那么他会尽量使这个操作变得有意义,而不是直接报错。
- 例如,在表达式
'1'>0中,解释器会将字符串'1'转换为数字1。 - JavaScript 也被称为弱类型语言,因为值的数据类型是可以变的。
- 例如 Java、C++ 这样的语言被称为强类型语言,因为它们需要指定每个变量的数据类型。
- 强制类型转换可能会导致意外错误,因此,推荐使用
===和!==来执行相等判断。
9. 真值和假值
- 因为存在强制类型转换,JavaScript 中的每个值都可以被当作 true 或 false。
- 以下几种情况对应假值:
| 值 | 说明 |
|---|---|
| false | 布尔值 false |
| 0 | 数字 0 |
| '' | 空字符串 |
| 10/‘xx’ | NaN |
| undefined | undefined |
- 以下经济中情况对应真值:
| 值 | 说明 |
|---|---|
| true | 布尔值 true |
| 1 | 非 0 数字 |
| ‘aaa’/‘false’/‘0’ | 非空字符串 |
| 10-2 | 非 0 的表达式 |
10. 循环
- 循环会检查一个条件,如果这个条件返回 true,那么会执行一段响应的代码。
- 之后这个条件会再次被检查,如果依然返回 true,那么这段代码会再次被执行。
- 以上过程会一直重复,直到条件返回 false。
10.1. for 循环
- for 循环使用计数器作为条件。
- 这种方式会让代码执行指定的次数。
- 这个条件是由三条语句组成的。
| |
- 初始化:创建一个变量,然后赋值为 0,这个变量起到计数器的作用,通常只在循环第一次运行的时候被创建。
- 条件:循环会一直执行下去,直到第一个分号后的语句执行结果为 false。
- 更新:每次循环执行完成后,第三个语句会被执行,并更新计数器的值。
10.2. break 和 continue
- break 关键字会导致循环结束,然后通知解释器继续执行循环体之外的代码。
- continue 关键字会通知解释器立即执行下一个循环迭代,然后进行条件检查。
10.3. while 循环
- 如果不确定代码会被执行多少次,可以使用 while 循环。
- 只要 while 后的括号中的条件表达式结果不为 false,花括号中的循环体就会一直被执行下去。
| |
10.4. do-while 循环
- do-while 循环和 while 循环类似。
- 区别在于,do-while 循环会先执行循环体,再执行条件判断,也就是说循环体会至少被执行一次。
| |