MST

星途 面试题库

面试题:JavaScript运算符优先级相关问题

请解释JavaScript中常见运算符(如算术运算符、逻辑运算符、比较运算符)的优先级顺序,并给出一个包含多种运算符的表达式,分析其运算过程。
27.4万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. 运算符优先级顺序
    • 括号() 优先级最高,用于改变运算顺序。
    • 一元运算符:如 ++(自增)、--(自减)、!(逻辑非)等,优先级较高。
    • 算术运算符*(乘)、/(除)、%(取模)优先级高于 +(加)、-(减)。
    • 比较运算符:如 >(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!=(不等于)、===(全等)、!==(不全等)。
    • 逻辑运算符&&(逻辑与)优先级高于 ||(逻辑或)。
    • 赋值运算符:如 =+=-= 等,优先级较低。
  2. 示例表达式及运算过程
    • 表达式(2 + 3 * 2) > 5 && (4 / 2) == 2 || 3 < 2
    • 运算过程
      • 首先计算括号内的算术运算:
        • 3 * 2 = 6,所以 (2 + 3 * 2) 变为 (2 + 6),结果为 8
        • 4 / 2 = 2,所以 (4 / 2) 结果为 2
      • 接着进行比较运算:
        • 8 > 5true
        • 2 == 2true
        • 3 < 2false
      • 然后进行逻辑运算:
        • true && truetrue(因为逻辑与两边都为真时结果为真)。
        • 最后 true || falsetrue(因为逻辑或只要有一边为真结果就为真)。
    • 所以整个表达式的结果为 true