在 JavaScript 中,运算符和流程控制是实现逻辑处理的基础。掌握它们不仅能构建复杂的业务逻辑,还能避免常见的类型转换陷阱。
一、运算符:自增、比较与逻辑
1. 自增运算符(++)
自增分为前缀和后缀,核心区别在于返回值时机:
- 后缀自增(
i++):先返回当前值,再自增 - 前缀自增(
++i):先自增,再返回新值
实际开发中容易混淆,看个例子:
let i = 1;
console.log(i++ + ++i + i); // 结果为 7
// 解析:
// 1. i++ 先返回 1,i 变为 2
// 2. ++i 先自增为 3,返回 3
// 3. 此时 i=3,总和:1+3+3=7
2. 比较运算符
用于判断值的关系,返回布尔值。需重点区分 == 与 ===:
| 运算符 | 特点 | 示例 | 结果 |
|---|---|---|---|
== | 只比较值(隐式转换类型) | 2 == "2" | true(字符串转数字) |
=== | 比较值和类型(无转换) | 2 === "2" | false(类型不同) |
!= | 只比较值不相等 | 2 != "2" | false(值相等) |
!== | 比较值或类型不相等 | 2 !== "2" | true(类型不同) |
特殊规则:
- 字符串按字符编码比较(如
"a" < "b"为true) NaN与任何值比较都返回false(包括自身)
console.log(2 == "2"); // true(隐式转换)
console.log(2 === "2"); // false(类型不同)
.( < );


