在我们的日常工作中,是离不开 JavaScript 运算的。我们常用的运算符无非 ++
、 --
、+=
、==
、===
。
下面就整理一下 JavaScript 的运算符:
=
赋值运算符,把值赋给变量。
var x = 8;
亲自试一试
+
加法运算符,对数字相加:
var x = 7; var y = 8; var z = x + y;
*
乘法运算符,对数字相乘:
var x = 7; var y = 8; var z = x * y;
JavaScript 算数运算符
算数运算符用于对数字执行算数运算:
运算符 | 描述 |
+ | 加法 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 系数 |
++ | 递加 |
-- | 递减 |
JavaScript 赋值运算符
赋值运算符向 JavaScript 变量赋值。
运算符 | 例子 | 等同于 |
= | x = y | x = y |
+= | x += y | x = x + y |
-= | x -= y | x = x - y |
*= | x *= y | x = x * y |
/= | x /= y | x = x / y |
%= | x %= y | x = x % y |
例如:加法赋值运算符(+=
)向变量添加一个值。
var x = 7; x += 8; // x=x+8 15
JavaScript 字符串运算符
+
运算符也可用于对字符串进行相加(concatenate,级联)。
txt1 = "Bill"; txt2 = "Gates"; txt3 = txt1 + " " + txt2; // Bill Gates
+=
赋值运算符也可用于相加(级联)字符串:
txt1 = "Hello "; txt1 += "Kitty!"; // Hello Kitty!
提示:在用于字符串时,+
运算符被称为级联运算符。
字符串和数字的相加
相加两个数字,将返回和,但对一个数字和一个字符串相加将返回一个字符串:
实例:
x = 7 + 8; y = "7" + 8; z = "Hello" + 7;
x、y 和 z 的结果将是:
15 78 Hello7
JavaScript 比较运算符
==
等于
===
等值等型
!=
不相等
!==
不等值或不等型
>
大于
<
小于
>=
大于或等于
<=
小于或等于
?
三元运算符
JavaScript 逻辑运算符
&& 逻辑与
|| 逻辑或
! 逻辑非
JavaScript 类型运算符
typeof
返回变量的类型。
instanceof
返回 true
,如果对象是对象类型的实例。
JavaScript 位运算符
位运算符处理 32 位数。
该运算中的任何数值运算数都会被转换为 32 位的数。结果会被转换回 JavaScript 数。
运算符 | 描述 | 例子 | 等同于 | 结果 | 十进制 |
& | 与 | 5 & 1 | 0101 & 0001 | 0001 | 1 |
| | 或 | 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | 非 | ~ 5 | ~0101 | 1010 | 10 |
^ | 异或 | 5 ^ 1 | 0101 ^ 0001 | 0100 | 4 |
<< | 零填充左位移 | 5 << 1 | 0101 << 1 | 1010 | 10 |
>> | 有符号右位移 | 5 >> 1 | 0101 >> 1 | 0010 | 2 |
>>> | 零填充右位移 | 5 >>> 1 | 0101 >>> 1 | 0010 | 2 |
上例使用 4 位无符号的例子。但是 JavaScript 使用 32 位有符号数。
因此,在 JavaScript 中,~ 5
不会返回 10,而是返回 -6。
~00000000000000000000000000000101 将返回 11111111111111111111111111111010。