JavaScript 算数

处理数值的典型情景是算数。

JavaScript 算数运算符

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

运算符 描述
+ 加法
- 减法
* 乘法
** 幂(ES2016
/ 除法
% 系数
++ 递增
-- 递减

算数运算符

典型的算术运算会操作两个数值。

这两个数可以是字面量:

实例

var x = 7 + 8;

亲自试一试

或变量:

实例

var x = a + b;

亲自试一试

或表达式:

实例

var x = (7 + 8) * a;

亲自试一试

运算符和操作数

在算术运算中,数被称为操作数

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

操作数 运算符 操作数
7 + 8

加法

加法运算符(+)加数:

var x = 7;
var y = 8;
var z = x + y; 

亲自试一试

减法

减法运算符(-)减数。

var x = 7;
var y = 8;
var z = x - y; 

亲自试一试

乘法

乘法运算符(*)乘数。

var x = 7;
var y = 8;
var z = x * y; 

亲自试一试

除法

除法运算符(/)除数。

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

亲自试一试

系数

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

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

亲自试一试

注释:在算术中,两个整数的除法产生商和余数。

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

递增

递增运算符(++)对数值进行递增。

var x = 7;
x++;
var z = x;

亲自试一试

递减

递减运算符(--)对数值进行递减。

var x = 7;
x--;
var z = x; 

亲自试一试

取幂运算符(**)将第一个操作数提升到第二个操作数的幂。

实例

var x = 5;
var z = x ** 2;          // రూపాంతరం 25

亲自试一试

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

实例

var x = 5;
var z = Math.pow(x,2);   // 结果是 25

亲自试一试

运算符优先级

运算符优先级(Operator precedence)描述了在算术表达式中所执行操作的顺序。

实例

var x = 200 + 50 * 2;

亲自试一试

上例的结果是 250 * 2 还是 200 + 100 呢?

是加法还是乘法优先呢?

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

乘法(*)和除法(%)比加法(+)和减法(-)拥有更高的优先级

同时,(就像在学校的数学中那样)能够通过使用括号来改变优先级:

实例

var x = (200 + 50) * 2;

亲自试一试

当使用括号时,括号中的运算符会首先被计算。

当多个运算拥有相同的优先级时(比如加法和减法),对它们的计算是从左向右的:

实例

var x = 200 + 50 - 2;

亲自试一试

JavaScript 运算符优先级值

运算符 描述 实例
20 ( ) 表达式分组 (3 + 4)
       
19 . 成员 person.name
19 [] 成员 person["name"]
19 () 函数调用 myFunction()
19 new 创建 new Date()
       
17 ++ 后缀递增 i++
17 -- 后缀递减 i--
       
16 ++ 前缀递增 ++i
16 -- 前缀递减 --i
16 ! వెలుపలి అప్రయోగం !(x==y)
16 typeof 类型 typeof x
       
15 ** 求幂 (ES7) 10 ** 2
       
14 * 10 * 5
14 / 10 / 5
14 % 模数除法 10 % 5
       
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
11 in అబ్జెక్ట్ లోని అట్రిబ్యూట్ "PI" in Math
11 instanceof అబ్జెక్ట్ యొక్క ఇన్స్టాన్స్ instanceof Array
       
10 == సమానం x == y
10 === సరిగ్గా సమానం x === y
10 != అప్రయోగం x != y
10 !== సరిగ్గా లేదా అప్రయోగం x !== y
       
9 & బిట్టు లేదా AND అప్రయోగం x & y
8 ^ బిట్టు లేదా XOR అప్రయోగం x ^ y
7 | బిట్టు లేదా అప్రయోగం x | y
6 && లాంగ్జుక్ అప్రయోగం x && y
5 || వెలుపలి అప్రయోగం x || y
4 ? : పరిస్థితి ? "Yes" : "No"
       
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 yield పాజ్యా ఫంక్షన్ yield x
1 , కామా లోపల సూచకం 7 , 8

గమనిక:తెలుపు ఎరుపు ప్రయోగాత్మక లేదా సిఫార్సు సాంకేతికతలను సూచిస్తుంది (ECMASScript 2016 లేదా ES7)

సూచన:బ్రాకెట్లు లోని వ్యక్తిత్వం బాకిన్ వ్యక్తిత్వం యొక్క మిగిలిన భాగంలో ఉపయోగించబడుతుంది