示例代码:
var a = 10, b = 20; // 加法运算 console.log(30 === a + b); // 减法运算 console.log(-10 === a - b); // 乘法运算 console.log(200 === a * b); // 除法运算 console.log(0.5 === a / b); // 取余运算 console.log(10 === a % b);
var a = '.s' , b = 'js';
// 字符串拼接
console.log('.sjs' === a + b);
示例代码:
var a = 10, b = 20;
// 自增运算
console.log(10 === a++);
console.log(12 === ++a);
// 自减运算
console.log(12 === a--);
console.log(10 === --a);
// 正值运算
console.log(10 === +a);
// 负值运算
console.log(0-10 === -a);
// 否运算
console.log(-11 === ~a);
// 取反运算
console.log(false === !a);
// delete 运算
console.log(true === delete a.fake);
// void 运算
console.log(undefined === void a);
// typeof 运算
console.log("number" === typeof a);
示例代码:
var a = 10, b = 20; // 左移运算 console.log(80 === (a << 3)); // 带符号右移运算 console.log(2 === (a >> 2)); // 无符号右移运算 console.log(2 === (a >>> 2)); // 与运算 console.log(2 === (a & 3)); // 异或运算 console.log(9 === (a ^ 3)); // 或运算 console.log(11 === (a | 3));
示例代码:
var a = 10, b = 20; // 小于 console.log(true === (a < b)); // 大于 console.log(false === (a > b)); // 小于等于 console.log(true === (a <= b)); // 大于等于 console.log(false === (a >= b));
示例代码:
var a = 10, b = 20; // 等号 console.log(false === (a == b)); // 非等号 console.log(true === (a != b)); // 全等号 console.log(false === (a === b)); // 非全等号 console.log(true === (a !== b));
示例代码:
var a = 10; a = 10; a *= 10; console.log(100 === a); a = 10; a /= 5; console.log(2 === a); a = 10; a %= 7; console.log(3 === a); a = 10; a += 5; console.log(15 === a); a = 10; a -= 11; console.log(-1 === a); a = 10; a <<= 10; console.log(10240 === a); a = 10; a >>= 2; console.log(2 === a); a = 10; a >>>= 2; console.log(2 === a); a = 10; a &= 3; console.log(2 === a); a = 10; a ^= 3; console.log(9 === a); a = 10; a |= 3; console.log(11 === a);
示例代码:
var a = 10, b = 20; // 逻辑与 console.log(20 === (a && b)); // 逻辑或 console.log(10 === (a || b));
示例代码:
var a = 10, b = 20; //条件运算符 console.log(20 === (a >= 10 ? a + 10 : b + 10)); //逗号运算符 console.log(20 === (a, b));
优先级 | 运算符 | 说明 | 结合性 |
|---|---|---|---|
| 20 | ( ... ) | 括号 | n/a |
| 19 | ... . ... | 成员访问 | 从左到右 |
| ... ... | 成员访问 | 从左到右 | |
| ... ( ... ) | 函数调用 | 从左到右 | |
| 17 | ... ++ | 后置递增 | n/a |
| ... -- | 后置递减 | n/a | |
| 16 | ! ... | 逻辑非 | 从右到左 |
| ~ ... | 按位非 | 从右到左 | |
| + ... | 一元加法 | 从右到左 | |
| - ... | 一元减法 | 从右到左 | |
| ++ ... | 前置递增 | 从右到左 | |
| -- ... | 前置递减 | 从右到左 | |
| typeof ... | typeof | 从右到左 | |
| void ... | void | 从右到左 | |
| delete ... | delete | 从右到左 | |
| 14 | ... * ... | 乘法 | 从左到右 |
| ... / ... | 除法 | 从左到右 | |
| ... % ... | 取模 | 从左到右 | |
| 13 | ... + ... | 加法 | 从左到右 |
| ... - ... | 减法 | 从左到右 | |
| 12 | ... << ... | 按位左移 | 从左到右 |
| ... >> ... | 按位右移 | 从左到右 | |
| ... >>> ... | 无符号右移 | 从左到右 | |
| 11 | ... < ... | 小于 | 从左到右 |
| 10 | ... == ... | 等号 | 从左到右 |
| ... != ... | 非等号 | 从左到右 | |
| ... === ... | 全等号 | 从左到右 | |
| ... !== ... | 非全等号 | 从左到右 | |
| 9 | ... & ... | 按位与 | 从左到右 |
| 8 | ... ^ ... | 按位异或 | 从左到右 |
| 7 | ... | ... | 按位或 | 从左到右 |
| 6 | ... && ... | 逻辑与 | 从左到右 |
| 5 | ... || ... | 逻辑或 | 从左到右 |
| 4 | ... ? ... : ... | 条件运算符 | 从右到左 |
| 3 | ... = ... | 赋值 | 从右到左 |
| ... | += | ... | 赋值 |
| ... | -= | ... | 赋值 |
| ... | *= | ... | 赋值 |
| ... | /= | ... | 赋值 |
| ... | %= | ... | 赋值 |
| ... | <<= | ... | 赋值 |
| ... | >>= | ... | 赋值 |
| ... | >>>= | ... | 赋值 |
| ... | &= | ... | 赋值 |
| ... | ^= | ... | 赋值 |
| ... | |= | ... | 赋值 |
| 0 | ... , ... | 逗号 | 从左到右 |