JavaScript aritmetik

En typisk situation for at håndtere numeriske værdier er aritmetik.

JavaScript aritmetiske operatorer

Aritmetiske operatorer udfører aritmetiske operationer på numeriske værdier (tekster eller variabler).

运算符 描述
+ Lægning
- Træk
* Multiplikation
** Potens(ES2016
/ Division
% Koefficient
++ Ændring
-- Reducer

Aritmetiske operatorer

En typisk aritmetisk operation opererer med to numeriske værdier.

Disse to tal kan være litterale værdier:

实例

var x = 7 + 8;

亲自试一试

eller variabel:

实例

var x = a + b;

亲自试一试

eller udtryk:

实例

var x = (7 + 8) * a;

亲自试一试

Operatorer og operand

I aritmetiske operationer kaldes talOperand

(Mellem to operand) Operation udføres af运算符Definition

Operand 运算符 Operand
7 + 8

Lægning

LægningOperatoren (+)Tilføjelse:

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

亲自试一试

Træk

TrækOperatoren (-)Subtrahent.

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

亲自试一试

Multiplikation

MultiplikationOperatoren (*)Faktor.

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

亲自试一试

Division

DivisionOperatoren (/)Divisor.

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

亲自试一试

Koefficient

KoefficientOperatoren (%)Returnerer resten af divisionen.

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

亲自试一试

Kommentar:I算术中,两个整数的除法产生商和余数。

Kommentar:I matematik er resultatet af modulusoperationen resten af aritmetisk division.

Ændring

ÆndringOperatoren (++)Ændrer værdien til at stige.

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

亲自试一试

Reducer

ReducerOperatoren (--)Reducerer værdien.

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

亲自试一试

Potens

Potensoperatoren (**) løfter den første operand til potensen af den anden operand.

实例

var x = 5;
var z = x ** 2;          // Resultat er 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 ! Logisk negation !(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 != Ikke lig med x != y
10 !== Strengt ikke lig med x !== y
       
9 & Bitvis og x & y
8 ^ Bitvis XOR x ^ y
7 | Bitvis eller x | y
6 && Logisk og x && y
5 || Logisk negation x || y
4 ? : Betinget ? "Ja" : "Nej"
       
3 = Tildeling x = y
3 += Tildeling x += y
3 -= Tildeling x -= y
3 *= Tildeling x *= y
3 %= Tildeling x %= y
3 <<= Tildeling x <<= y
3 >>= Tildeling x >>= y
3 >>>= Tildeling x >>>= y
3 &= Tildeling x &= y
3 ^= Tildeling x ^= y
3 |= Tildeling x |= y
       
2 yield Pause funktion yield x
1 , Komma 7, 8

Bemærk:Lilla farve indikerer eksperimentelle eller anbefalede teknologier (ECMASScript 2016 eller ES7)

Tip:Utrykte udtryk beregnes fuldt ud, før værdien bruges i resten af udtrykket.