算术运算符以数值(字面量或变量)作为其操作数,并返回一个单个数值。标准算术运算符是加法(+),减法( - ),乘法(*)和除法(/)。
加法(+)
加法运算符的作用是数值求和,或者字符串拼接。
1 | // Number + Number -> 数字相加 |
减法(-)
减法运算符使两个操作数相减,结果是它们的差值。
1 | 5 - 3 // 2 |
除法(/)
除法运算符的结果是操作数的商 ,左操作数是被除数,右操作数是除数。
1 | 1 / 2 // 在 JavaScript 中返回 0.5 |
乘法(*)
乘法运算符的结果是操作数的乘积。
1 | 2 * 2 // 4 |
求余(%)
求余运算符返回第一个操作数对第二个操作数的模,即 var1 对 var2 取模,其中 var1 和 var2 是变量。取模功能就是 var1 除以 var2 的整型余数。
1 | 12 % 5 // 2 |
幂(**)
幂运算符返回第一个操作数做底数,第二个操作数做指数的乘方。即, var1var2 ,其中 var1 和 var2 是其两个操作数。幂运算符是右结合的。a b c 等同于 a (b c)。
1 | 2 ** 3 // 8 |
递增(++)
递增运算符为其操作数增加1,返回一个数值。
- 如果后置(postfix)使用,即运算符位于操作数的后面(如 x++),那么将会在递增前返回数值。
- 如果前置(prefix)使用,即运算符位于操作数的前面(如 ++x),那么将会在递增后返回数值。
1 | // 后置 |
递减(–)
递减运算符将其操作数减去1,并返回一个数值。
- 如果后置使用(如 x–),则在递减前返回数值。
- 如果前置使用(如 –x),则在递减后返回数值。
1 | // 后置 |
一元负号 (-)
一元负号运算符位于操作数前面,并转换操作数的符号。
1 | var x = 3; |
一元正号(+)
一元正号运算符位于其操作数前面,计算其操作数的数值,如果操作数不是一个数值,会尝试将其转换成一个数值。 尽管一元负号也能转换非数值类型,但是一元正号是转换其他对象到数值的最快方法,也是最推荐的做法,因为它不会对数值执行任何多余操作。它可以将字符串转换成整数和浮点数形式,也可以转换非字符串值 true,false 和 null。小数和十六进制格式字符串也可以转换成数值。负数形式字符串也可以转换成数值(对于十六进制不适用)。如果它不能解析一个值,则计算结果为 NaN.
1 | +3 // 3 |