Aritmetika ng JavaScript

Ang tipikal na sitwasyon ng paggamit ng numerical values ay aritmetika.

Aritmetikong operator ng JavaScript

Ang aritmetikong operator ng JavaScript ay nagbibigay ng aritmetikong operasyon sa numerical values (teksto o variable).

运算符 描述
+ Pagdagdag
- Pagbawas
* Pagkakalipat
** Kapangyarihan (ES2016
/ Paghahati
% Sukat ng kagamitan
++ Pagtaas
-- Pagbaba

Aritmetikong operator

Ang tipikal na aritmetikong operasyon ay gumagawa ng dalawang numerical value.

Ang dalawang bilang ay maaaring maging literal:

实例

var x = 7 + 8;

亲自试一试

O variable:

实例

var x = a + b;

亲自试一试

O ekspresyon:

实例

var x = (7 + 8) * a;

亲自试一试

Operator at operation

Sa aritmetikong operasyon, ang bilang ay tinatawag naOperation

Ang pagganap ng (pagitan ng dalawang operation) ay ginagawa ng运算符Paglilinaw.

Operation 运算符 Operation
7 + 8

Pagdagdag

PagdagdagOperator ng (+)Sukat ng pagdagdag:

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

亲自试一试

Pagbawas

PagbawasOperator ng (-)Sukat ng pagbawas.

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

亲自试一试

Pagkakalipat

PagkakalipatOperator ng (*)Sukat ng pagkakalipat.

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

亲自试一试

Paghahati

PaghahatiOperator ng (/)Sukat ng paghahati.

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

亲自试一试

Sukat ng kagamitan

Sukat ng kagamitanOperator ng (%)Ibinabalik ang sobra sa paghahati.

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

亲自试一试

Komentaryo:Sa aritmetika, ang paghahati ng dalawang buong bilang ay nagbibigay ng kalahati at sobra.

Komentaryo:Sa matematika, ang resulta ng modular na operasyon ay ang sobra sa aritmetikong paghahati.

Pagtaas

PagtaasOperator ng (++)Ang pagtaas ng bilang.

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

亲自试一试

Pagbaba

PagbabaOperator ng (--)Ang pagbaba ng bilang.

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

亲自试一试

Kapangyarihan

Ang operator ng pagpipilit sa kapangyarihan (**) ay nagpapahintulot sa unang operand sa pagpilit sa kapangyarihan ng ikalawang operand.

实例

var x = 5;
var z = x ** 2;          // Ang resulta ay 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 & 按位与 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)

提示:括号中的表达式会在值在表达式的其余部分中被使用之前进行完全计算。