基本运算符
示例代码:
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 = '.w' , b = 'xs';// 字符串拼接console.log('.wxs' === 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 > 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(true === (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 >= 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 | … , … | 逗号 | 从左到右 |
相信看了本文案例你已经掌握了方法,更多精彩请关注有卡有网。