学习JavaScript运算符优先级规则的基本知识
每个复杂的语句都会引入优先级问题。
就拿这个来说吧。
const a = 1 * 2 + 5 / 2 % 2
结果是2.5,但为什么?哪些操作要先执行,哪些需要等待?
有些操作比其他操作有更多的优先权。优先级规则列在这个表格中。
| 操作员 | 说明 |
|---|---|
- + ++ -- | 单数运算符,增量和减量 |
* / % | 乘法/除法 |
+ - | 加法/减法 |
= += -= *= /= %= **= | 作业 |
同一层次的运算(如+ 和- )按其顺序执行
按照这个表格,我们可以解决这个计算。
const a = 1 * 2 + 5 / 2 % 2
const a = 2 + 5 / 2 % 2
const a = 2 + 2.5 % 2
const a = 2 + 0.5
const a = 2.5