js运算顺序
loyalvi Lv7

js运算顺序

顺序

  1. 小括号()有括号先算括号里面的;
  2. 一元运算符
    • 加加 ++
    • 减减 --
    • !
  3. 算数运算符
    • *
    • /
    • 取于 %
    • +
    • -
      这里是先乘 */ 取余数 % 后加 +-
  4. 关系运算符
    • 大于>
    • 大于等于>=
    • 小于<
    • 小于等于<=
  5. 相等运算符
    • 等于==
    • 不等于!=
    • 全等于===
    • 不全等于!==
  6. 逻辑运算符
    • 先且 && 后或 ||
  7. 赋值运算符
    • =
  8. 逗号运算符
    • ,

运算符优先级

在 JavaScript 中,运算顺序(也称为运算符优先级)决定了表达式中各个运算符的计算顺序。了解运算顺序对于编写正确且高效的代码非常重要。以下是 JavaScript 中常见运算符的优先级顺序,从高到低排列:

1. 括号

  • 优先级:最高
  • 示例
    1
    let result = (1 + 2) * 3; // 9

2. 后缀递增和递减

  • 优先级:高
  • 示例
    1
    2
    let a = 1;
    let b = a++; // b = 1, a = 2

3. 前缀递增和递减

  • 优先级:高
  • 示例
    1
    2
    let a = 1;
    let b = ++a; // b = 2, a = 2

4. 一元运算符

  • 优先级:高
  • 示例
    1
    2
    3
    let 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
    4
    let result = 1 << 2; // 4
    let result2 = 1 & 2; // 0
    let result3 = 1 | 2; // 3
    let result4 = 1 ^ 2; // 3

8. 关系运算符

  • 优先级:中
  • 示例
    1
    2
    3
    4
    let result = 1 < 2; // true
    let result2 = 1 > 2; // false
    let result3 = 1 <= 2; // true
    let result4 = 1 >= 2; // false

9. 相等运算符

  • 优先级:中
  • 示例
    1
    2
    3
    4
    let 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
    2
    let a = 1;
    a += 2; // a = 3

14. 逗号运算符

  • 优先级:最低
  • 示例
    1
    let a = (1, 2, 3); // a = 3

示例

1
2
3
4
let a = 1, b = 2, c = 3;
let result = a + b * c; // 7 (先计算 b * c,再计算 a + b * c)
let result2 = (a + b) * c; // 9 (先计算 a + b,再计算 (a + b) * c)
let result3 = a < b && b < c; // true (先计算 a < b,再计算 b < c,最后计算 &&)

总结

  • 括号:可以改变运算顺序,优先级最高。
  • 一元运算符:如 +-! 等,优先级较高。
  • 乘法、除法、取模:优先级高于加法和减法。
  • 关系运算符:如 <><=>= 等,优先级高于相等运算符。
  • 逻辑与和逻辑或:优先级低于关系运算符和相等运算符。
  • 赋值运算符:优先级最低。
    理解这些运算顺序可以帮助你编写更清晰、更可靠的代码。如果不确定运算顺序,可以使用括号来明确指定计算顺序。
由 Hexo 驱动 & 主题 Keep
访客数 访问量