JavaScript 算术
JavaScript 算术运算符
算术运算符对数字(文字或变量)执行算术运算。
操作员 | 描述 |
---|---|
+ | 添加 |
- | 减法 |
* | 乘法 |
** | 指数运算(ES2016) |
/ | 分配 |
% | 模数(余数) |
++ | 增量 |
-- | 减少 |
算术运算
典型的算术运算对两个数字进行运算。
这两个数字可以是文字:
或变量:
或表达式:
运算符和操作数
这些数字(在算术运算中)被称为 操作数.
操作(在两个操作数之间执行)由 操作员.
操作数 | 操作员 | 操作数 |
---|---|---|
100 | + | 50 |
添加
这 添加 操作员 (+
)添加数字:
减法
这 减法 操作员 (-
) 减去数字。
乘法
这 乘法 操作员 (*
) 将数字相乘。
除法
这 分配 操作员 (/
) 进行数字除法。
余
这 模量 操作员 (%
) 返回除法余数。
在算术中,两个整数相除得到 商 和一个余.
在数学中, 模运算 是个余 算术除法。
递增
这 增量 操作员 (++
) 增加数字。
递减
这 减少 操作员 (--
) 减少数字。
指数运算
这 幂运算 操作员 (**
) 将第一个操作数提升为第二个操作数的幂。
x ** y 产生的结果与 Math.pow(x,y)
:
运算符优先级
运算符优先级描述算术表达式中执行运算的顺序。
上面例子的结果和150*3一样吗,还是和100+150一样呢?
先做加法还是先做乘法?
与传统的学校数学一样,首先进行乘法。
乘法(*
) 和除法 (/
)有更高的 优先权 比添加(+
)和减法(-
).
并且(就像在学校数学中一样)可以使用括号改变优先级:
使用括号时,首先计算括号内的运算。
当许多运算具有相同的优先级(例如加法和减法)时,它们从左到右进行计算:
JavaScript 运算符优先级值
淡红色条目表示 ECMAScript 2015 (ES6) 或更高版本。
价值 | 操作员 | 描述 | 例子 |
---|---|---|---|
21 | ( ) | 表达式分组 | (3 + 4) |
20 | . | 成员 | 人名 |
20 | [] | 成员 | 人[“姓名”] |
20 | () | 函数调用 | 我的函数() |
20 | 新的 | 创造 | 新日期() |
18 | ++ | 后缀增量 | 我++ |
18 | -- | 后缀减量 | 我 - |
17 | ++ | 前缀增量 | ++我 |
17 | -- | 前缀减量 | - 我 |
17 | ! | 逻辑非 | !(x==y) |
17 | 类型 | 类型 | 类型为 x |
16 | ** | 指数运算(ES2016) | 10 ** 2 |
15 | * | 乘法 | 10 * 5 |
15 | / | 分配 | 10 / 5 |
15 | % | 除法余数 | 10 % 5 |
14 | + | 添加 | 10 + 5 |
14 | - | 减法 | 10 - 5 |
13 | << | 左移 | x << 2 |
13 | >> | 右移 | x >> 2 |
13 | >>> | 右移(无符号) | × >>> 2 |
12 | < | 少于 | x < y |
12 | <= | 小于或等于 | x <= y |
12 | > | 比...更棒 | x > y |
12 | >= | 大于或等于 | x >= y |
12 | 在 | 对象中的属性 | 数学中的“PI” |
12 | 实例 | 对象实例 | 数组实例 |
11 | == | 平等的 | x == y |
11 | === | 严格平等 | x === y |
11 | != | 不等 | x != y |
11 | !== | 严格不平等 | x !== y |
10 | & | 按位与 | x 和 y |
9 | ^ | 按位异或 | y ^ x |
8 | | | 按位或 | x | y |
7 | && | 逻辑与 | x && y |
6 | || | 逻辑或 | x || y |
5 | ?? | 空值合并 | y |
4 | ? : | 健康)状况 | ? “是” : “否” |
3 | += | 任务 | x += y |
3 | /= | 任务 | x /= y |
3 | -= | 任务 | x -= y |
3 | *= | 任务 | x *= y |
3 | %= | 任务 | x %= y |
3 | <<= | 任务 | x <<= y |
3 | >>= | 任务 | x >>= y |
3 | >>>= | 任务 | x >>>= y |
3 | &= | 任务 | x &= y |
3 | ^= | 任务 | x^=y |
3 | |= | 任务 | x |= y |
2 | 屈服 | 暂停功能 | 产量 x |
1 | , | 逗号 | 5 , 6 |
括号中的表达式在值用于表达式的其余部分之前已经过完全计算。