js运算顺序
js运算顺序
顺序
- 小括号
()有括号先算括号里面的; - 一元运算符
- 加加
++ - 减减
-- - 非
!
- 加加
- 算数运算符
- 乘
* - 除
/ - 取于
% - 加
+ - 减
-
这里是先乘*除/取余数%后加+减-。
- 乘
- 关系运算符
- 大于>
- 大于等于>=
- 小于<
- 小于等于<=
- 相等运算符
- 等于==
- 不等于!=
- 全等于===
- 不全等于!==
- 逻辑运算符
- 先且
&&后或||。
- 先且
- 赋值运算符
=
- 逗号运算符
,
运算符优先级
在 JavaScript 中,运算顺序(也称为运算符优先级)决定了表达式中各个运算符的计算顺序。了解运算顺序对于编写正确且高效的代码非常重要。以下是 JavaScript 中常见运算符的优先级顺序,从高到低排列:
1. 括号
- 优先级:最高
- 示例:
1
let result = (1 + 2) * 3; // 9
2. 后缀递增和递减
- 优先级:高
- 示例:
1
2let a = 1;
let b = a++; // b = 1, a = 2
3. 前缀递增和递减
- 优先级:高
- 示例:
1
2let a = 1;
let b = ++a; // b = 2, a = 2
4. 一元运算符
- 优先级:高
- 示例:
1
2
3let a = -1; // 一元负号
let b = +1; // 一元正号
let c = !true; // 逻辑非
5. 乘法、除法、取模
- 优先级:中高
- 示例:
1
let result = 10 * 2 / 5 % 3; // 4
6. 加法、减法
- 优先级:中
- 示例:
1
let result = 10 + 2 - 5; // 7
7. 位移、位与、位或、位异或
- 优先级:中
- 示例:
1
2
3
4let result = 1 << 2; // 4
let result2 = 1 & 2; // 0
let result3 = 1 | 2; // 3
let result4 = 1 ^ 2; // 3
8. 关系运算符
- 优先级:中
- 示例:
1
2
3
4let result = 1 < 2; // true
let result2 = 1 > 2; // false
let result3 = 1 <= 2; // true
let result4 = 1 >= 2; // false
9. 相等运算符
- 优先级:中
- 示例:
1
2
3
4let result = 1 == 2; // false
let result2 = 1 != 2; // true
let result3 = 1 === 2; // false
let result4 = 1 !== 2; // true
10. 逻辑与
- 优先级:低
- 示例:
1
let result = true && false; // false
11. 逻辑或
- 优先级:低
- 示例:
1
let result = true || false; // true
12. 条件运算符
- 优先级:低
- 示例:
1
let result = 1 > 2 ? "大于" : "小于"; // "小于"
13. 赋值运算符
- 优先级:最低
- 示例:
1
2let a = 1;
a += 2; // a = 3
14. 逗号运算符
- 优先级:最低
- 示例:
1
let a = (1, 2, 3); // a = 3
示例
1 | let a = 1, b = 2, c = 3; |
总结
- 括号:可以改变运算顺序,优先级最高。
- 一元运算符:如
+、-、!等,优先级较高。 - 乘法、除法、取模:优先级高于加法和减法。
- 关系运算符:如
<、>、<=、>=等,优先级高于相等运算符。 - 逻辑与和逻辑或:优先级低于关系运算符和相等运算符。
- 赋值运算符:优先级最低。
理解这些运算顺序可以帮助你编写更清晰、更可靠的代码。如果不确定运算顺序,可以使用括号来明确指定计算顺序。