MST

星途 面试题库

面试题:JavaScript 中算术表达式优化之运算符优先级问题

请指出以下 JavaScript 算术表达式 `3 + 4 * 2 / (1 - 5) ** 2` 的运算结果,并详细说明运算顺序,同时说明如何通过优化代码结构,让表达式的运算逻辑更清晰。
24.7万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
  1. 运算结果
    • 先计算 (1 - 5),结果为 -4
    • 接着计算 (-4) ** 2,结果为 16
    • 然后计算 4 * 2,结果为 8
    • 再计算 8 / 16,结果为 0.5
    • 最后计算 3 + 0.5,结果为 3.5
  2. 运算顺序
    • 首先是括号内的运算,按照 (1 - 5) 这样的顺序计算。
    • 然后是指数运算 **,即 (-4) ** 2
    • 接着是乘法和除法运算,从左到右,先 4 * 2,再 8 / 16
    • 最后是加法运算 3 + 0.5
  3. 优化代码结构: 可以通过添加括号来让运算逻辑更清晰,如下:
let result = 3 + ((4 * 2) / ((1 - 5) ** 2));
console.log(result); 

这样每个子运算的顺序更加明确,增强了代码的可读性。