JavaScript 流程控制
一、运算符
1. 赋值运算符
- 赋值运算符用于将值赋给变量
- 最常见的赋值运算符是
=
,它会把等号右侧的值赋给左侧的变量。左侧必须是可存储数据的容器。 - 组合赋值运算符让你可以更方便地在赋值时进行运算,例如:
+=
、-=
、*=
、/=
、%=
2. 一元运算符
- 一元运算符是指只操作一个变量的运算符。
- 自增运算:让变量的值加1
- 例子:
let num = 1; num = num + 1;
- 更简洁的写法是使用
++
,例如:++num; // 前置自增 num++; // 后置自增
- 前置和后置自增大多数情况下结果相同,不过在某些表达式中顺序会有差异,通常
num++
使用更多。
- 例子:
- 自减运算:
--
,可以减少变量值1。
3. 比较运算符
- 比较运算符用于比较两个值的大小或相等性:
>
:左边是否大于右边<
:左边是否小于右边==
:判断左右两边是否相等(忽略类型)===
:判断左右两边是否完全相等(包括类型和值)!==
:判断左右两边是否不相等
- 比较的结果总是布尔值(
true
或false
)。 - 注意:
=
是赋值运算符,而==
和===
是判断运算符。开发中更推荐使用===
,以确保类型和值都相等。
4. 逻辑运算符
- 逻辑运算符用于处理布尔逻辑:
符号 名称 含义 规律 &&
逻辑与 两边同时为 true
,结果才为true
一假则假 ` ` 逻辑或 !
逻辑非 取反操作,将 true
变为false
,反之亦然真变假,假变真
5. 运算符优先级
- 运算符的优先级决定了表达式中操作的先后顺序:
优先级 运算符 说明 1 ()
小括号,最优先 2 ++
、--
、!
一元运算符 3 *
、/
、%
算术运算符,乘除先于加减 4 >
、>=
、<
、<=
关系运算符 5 ==
、!=
、===
、!==
相等运算符 6 &&
、`7 =
赋值运算符 8 ,
逗号运算符,最后执行
二、语句
1. 表达式与语句的区别
- 表达式可以产生值,因此可以放在赋值语句的右边。
- 语句不一定有值,比如
alert()
、for
和break
等就不能用于赋值。
2. 分支语句
2.1 if 语句
if
语句用于判断条件,并执行相应的代码。- 常见形式包括单分支、双分支和多分支:
if (条件) { // 条件为 true 时执行 } else { // 条件为 false 时执行 }
- 例如,用于判断闰年:
let year = prompt('请输入年份:'); if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { alert('闰年'); } else { alert('平年'); }
2.2 三元运算符
- 三元运算符是一种简洁的条件语句,用于返回两个值中的一个:
let max = a > b ? a : b;
- 例子:判断并输出最大数:
let a = 5, b = 10, c = 15; let max = c > (a > b ? a : b) ? c : (a > b ? a : b); console.log(max);
三、循环结构
1. while 循环
while
循环在条件为true
时不断执行代码块:while (条件) { // 循环体 }
2. for 循环
for
循环是最常见的循环,通常用于遍历数组:for (let i = 0; i < array.length; i++) { // 循环体 }
3. 循环控制
break
:立即退出循环,后续代码不再执行。continue
:跳过当前循环,进入下一次循环。- 区别:
continue
适用于跳过不需要的项。break
用于结果已经得到,不再需要后续循环时。