JavaScript算术运算


JavaScript 算术运算符

算术运算符执行算术运算(在常量或变量上).

操作符 描述
+
-
`*`
/
% 取余
++ 自己增加1
-- 自己减少1

算术运算符

一个典型的算术运算操作两个数字.

这两个数字可以是常量:

var x = 100 + 50;

让我试试

或者变量:

var x = a + b;

让我试试

或者表达式:

var x = (100 + 50) * a;

让我试试


操作符和操作数

数字(在算术运算中)被称为操作数.

操作(要在两个操作数之间执行)由操作符定义.

操作数 操作符 操作数
100 + 50

相加操作符 (+) 相加数字:

var x = 5;
var y = 2;
var z = x + y;

让我试试

减操作符 (-) 减去一个数字.

var x = 5;
var y = 2;
var z = x - y;

让我试试

乘操作符 (*) 乘以数字.

var x = 5;
var y = 2;
var z = x * y;

让我试试

除操作符 (/) 除以数字.

var x = 5;
var y = 2;
var z = x / y;

让我试试

取余操作符 (%) 返回相除的余数.

var x = 5;
var y = 2;
var z = x % y;

让我试试

自增加操作符 (++) 增加数值.

var x = 5;
x++;
var z = x;

让我试试

自减操作符 (--) 递减数字.

var x = 5;
x--;
var z = x;

让我试试


操作符的优先级

运算符优先级描述算术表达式中执行操作的顺序.

var x = 100 + 50 * 3;

让我试试

以上的结果是否与150×3相同,或者是和100+150相同?

是加法还是乘法优先?

在传统的学校数学中,乘法优先.

乘 (*) 和除 (/) 优先级高于加(+) 和 减(-).

改变优先级可以使用括号:

var x = (100 + 50) * 3;

让我试试

使用括号时,首先计算圆括号内的运算.

当许多操作具有相同的优先级(如加法和减法),他们计算从左到右:

var x = 100 + 50 - 3;

让我试试


JavaScript运算符的优先级

运算符 描述 实例
19 ( ) 表达式组 (3 + 4)
       
18 . 成员 person.name
18 [] 成员 person["name"]
       
17 () 函数调用 myFunction()
17 new 创建 new Date()
       
16 ++ 后自增 i++
16 -- 后自减 i--
       
15 ++ 前自增 ++i
15 -- 前自减 --i
15 ! 逻辑非 !(x==y)
15 typeof 类型 typeof x
       
14 `*` 10 * 5
14 / 10 / 5
14 % 取余 10 % 5
14 `**` 求幂 10 ** 2
       
13 + 10 + 5
13 - 10 - 5
       
12 << 左移位 x << 2
12 >> 右移位 x >> 2
12 >>> 无符号右移位 x >>> 2
       
11 < 小于 x < y 
11 <= 小于等于 x <= y
11 > 大于 x > y
11 >= 大于等于 x >= y
       
10 == 相等 x == y
10 === 严格相等 x === y
10 != 不相等 x != y
10 !== 不严格相等 x !== y
       
6 && 逻辑与 x && y
5 || 逻辑或 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
3 |= 赋值 x |= y