JavaScript aritmetik
- Forrige side JS operatorer
- Næste side JS tildeling
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 |
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.
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.
- Forrige side JS operatorer
- Næste side JS tildeling