JavaScript 运算符
JavaScript 运算符
实例
向变量赋值,并把它们相加:
var x = 7; // 向 x 赋值 7
var y = 8; // 向 y 赋值 8
var z = x + y; // 向 z (x + y) 赋值 15
赋值运算符(=)把值赋给变量。
赋值
var x = 15;
加法运算符(+)对数字相加:
加法
var x = 7;
var y = 8;
var z = x + y;
乘法运算符(*)对数字相乘:
乘法
var x = 7;
var y = 8;
var z = x * y;
JavaScript 算数运算符
算数运算符用于对数字执行算数运算:
| 运算符 | 描述 |
|---|---|
| + | 加法 |
| - | 减法 |
| * | 乘法 |
| / | 除法 |
| % | 取模(余数) |
| ++ | 递加 |
| -- | 递减 |
JavaScript 赋值运算符
| 运算符 | 例子 | 等同于 |
|---|---|---|
| = | x = 7; | x = 7; |
| += | x += 3; | x = x + 3; |
| -= | x -= 3; | x = x - 3; |
| *= | x *= 3; | x = x * 3; |
| /= | x /= 3; | x = x / 3; |
| %= | x %= 3; | x = x % 3; |
加法赋值运算符(+=)向变量添加一个值。
JavaScript 字符串运算符
“+” 运算符也可用于对字符串进行相加(concatenate,级联)。
实例
txt1 = "Bill";
txt2 = "Gates";
txt3 = txt1 + " " + txt2;
txt3 的结果将是:
Bill Gates
“+=” 赋值运算符也可用于相加(级联)字符串:
实例
txt1 = "Hello ";
txt1 += "Kitty!";
txt1 的结果将是:
Hello Kitty!
字符串和数字的相加
相加两个数字,将返回和,但对一个数字和一个字符串相加将返回一个字符串:
实例
x = 7 + 8;
y = "7" + 8;
z = "Hello" + 7;
x、y 和 z 的结果将是:
15
78
Hello7
JavaScript 比较运算符
| 运算符 | 描述 |
|---|---|
| == | 等于(equal) |
| === | 等于(equal),且类型相同 |
| != | 不等于(not equal) |
| !== | 不等于(not equal),且类型不同 |
| > | 大于(greater than) |
| < | 小于(less than) |
| >= | 大于或等于(greater than or equal to) |
| <= | 小于或等于(less than or equal to) |
| ? | 如果条件为 true,则返回值为 true,否则返回值为 false |
JavaScript 逻辑运算符
| 运算符 | 描述 |
|---|---|
| && | 如果两个条件都为 true,则返回 true,否则返回 false |
| 或 | 如果两个条件中有一个为 true,则返回 true,否则返回 false |
| ! | 如果条件为 true,则返回 false,否则返回 true |
JavaScript 类型运算符
| 运算符 | 描述 |
|---|---|
| typeof | 返回变量的类型 |
| instanceof | 如果变量是某个类的实例,则返回 true,否则返回 false |
JavaScript 位运算符
位运算符处理 32 位数。
该运算中的任何数值运算数都会被转换为 32 位的数。结果会被转换回 JavaScript 数。
| 运算符 | 描述 | 例子 | 等同于 | 结果 | 十进制 |
|---|---|---|---|---|---|
| & | 与(AND) | 5 & 1 | 0101 & 0001 | 0001 | 1 |
| 或 | 或(OR) | 5 或 1 | 0101 或 0001 | 0101 | 5 |
| ~ | 非 | ~ 5 | ~0101 | 1010 | 10 |
| \^ | 异或(XOR) | 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
| << | 左移(shift left) | 5 << 1 | 0101 << 1 | 1010 | 10 |
| >> | 右移(shift right) | 5 >> 1 | 0101 >> 1 | 0010 | 2 |
| >>> | 无符号右移(shift right) | 5 >>> 1 | 0101 >>> 1 | 0010 | 2 |
上例使用 4 位无符号的例子。但是 JavaScript 使用 32 位有符号数。
因此,在 JavaScript 中,~ 5 不会返回 10,而是返回 -6。
~00000000000000000000000000000101 将返回 11111111111111111111111111111010。