二维码

JavaScript算术

JavaScript算术


JavaScript 算术运算符

算术运算符对数字(文字或变量)执行算术运算。

Operator Description
+ Addition
- Subtraction
* Multiplication
** Exponentiation ([ES2016])
/ Division
% Modulus (Remainder)
++ Increment
Decrement

算术运算

典型的算术运算对两个数字进行运算。

这两个数字可以是文字:

1
let x = 100 + 50;

或变量:

1
let x = a + b;

或表达式:

1
let x = (100 + 50) * a;


运算符和操作数

这些数字(在算术运算中)称为操作数

运算(在两个操作数之间执行)由运算符定义。

操作数 操作员 操作数
100 + 50

添加

加法运算+) 将数字相加:

1
2
3
let x = 5;  
let y = 2;
let z = x + y;


减法

减法运算符 ( -) 减去数字。

1
2
3
let x = 5;  
let y = 2;
let z = x - y;


乘法

乘法运算符( *) 将数字相乘。

1
2
3
let x = 5;  
let y = 2;
let z = x * y;


划分

除法运算符 ( /) 对数字进行除法。

1
2
3
let x = 5;  
let y = 2;
let z = x / y;


运算符 ( %) 返回除法余数。

1
2
3
let x = 5;  
let y = 2;
let z = x % y;

在算术中,两个整数相除产生一个 和一个数。

在数学中,模运算的结果是算术除法的 余数。


递增

增量运算符 ( ++) 使数字递增。

1
2
3
let x = 5;  
x++;
let z = x;


递减

递减运算符 ( --) 使数字递减。

1
2
3
let x = 5;  
x--;
let z = x;


求幂

求幂运算符( **) 将第一个操作数进行第二个操作数的幂。

1
2
let x = 5;  
let z = x ** 2;

x ** y 产生与以下相同的结果Math.pow(x,y)

1
2
let x = 5;  
let z = Math.pow(x,2);


运算符优先级

运算符优先级描述了算术表达式中运算的执行顺序。

1
let x = 100 + 50 * 3;

上面例子的结果是和 150 * 3 一样,还是和 100 + 150 一样?

是先做加法还是先做乘法?

与传统的学校数学一样,首先进行乘法。

乘法 ( *) 和除法 ( ) 的优先级/高于加法 ( ) 和减法 ( )。+``-

并且(就像在学校数学中一样)可以通过使用括号来更改优先级。

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

1
let x = (100 + 50) * 3;

当许多运算具有相同的优先级时(例如加法和减法或乘法和除法),它们从左到右计算:

1
let x = 100 + 50 - 3;

1
let x = 100 / 50 * 3;