JavaScript 算术
-
JavaScript算术运算符
算术运算符对数字(文字或变量)执行算术运算。运算符 说明 + 加法 - 减法 * 乘法 ** 指数(ES6) / 除法 % 模数(除法除外) ++ 递增 -- 递减 -
-
操作符和操作数
数字(在算术运算中)称为操作数。操作(在两个操作数之间执行)由操作符定义。例如100+100操作数 操作符 操作数 100 + 100 -
加,减,乘,除,模,递增,递减,幂
加法操作符(+)将数字相加:
尝试一下var x = 5 + 5; var y = "5" + 5; var z = "Hello" + 5;
减法运算符(-)减去数字。
尝试一下var x = 5; var y = 2; var z = x - y;
乘法运算符(*)数字相乘。
尝试一下var x = 5; var y = 2; var z = x * y;
除法运算符(/)数字相除。
尝试一下var x = 5; var y = 2; var z = x / y;
模数运算符(%)返回除法的余数。
尝试一下var x = 5; var y = 2; var z = x % y;
在算术中,两个整数的除法产生商和余数。在数学中,模运算的结果是算术除法的余数。
注意,0当作除数,将会返回无穷(Infinity(或-Infinity))后面章节会介绍。
增量运算符(++)递增的数字。
尝试一下var x = 5; x++; var z = x;
减量操作符(--)递减的数字。
尝试一下var x = 5; 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
-
-
JavaScript运算符优先级值
优先级值越大,优先级越高淡红背景的是EC6或更高版本的功能优先值 运算符 描述 例子 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 ^ 按位异或 x ^ y 7 | 按位或 x | y 6 && 逻辑与 x && y 5 || 逻辑或 x || y 4 ? : 条件三元 "Yes" ? "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 , 逗号 5 , 6