JavaScript 运算符主要包括:
- 算术运算符
- 赋值运算符
- 比较运算符
- 三元运算符
- 逻辑运算符
- 字符串连接运算符
运算符 | 说明 | 例子 | 运算结果 |
---|---|---|---|
+ | 加 | y = 2+1 | y = 3 |
- | 减 | y = 2-1 | y = 1 |
* | 乘 | y = 2*3 | y = 6 |
/ | 除,返回结果为浮点类型 | y = 6/3 | y = 2 |
% | 求余,返回结果为浮点类型 要求两个操作数均为整数 |
y = 6%4 | y = 2 |
++ | 递加,分为前加和后加 对布尔值和 NULL 将无效 |
y = 2 ++y(前加) y++(后加) |
y = 3 |
-- | 递减,分为前递减和后递减 对布尔值和 NULL 将无效 |
y = 2 --y(前减) y--(后减) |
y = 1 |
对于前加和后加,执行后的结果都是变量加1,其区别在于执行时返回结果不一样,参考下面两个例子:
var x = 2;
alert(++x); //输出:3
alert(x); //输出:3
var y = 2;
alert(y++); //输出:2
alert(y); //输出:3
递减同理。
赋值运算符
赋值运算符 = 用于赋值运算,赋值运算符的作用在于把右边的值赋值给左边变量。设定 y = 6,参见下表:
运算符 | 例子 | 等价于 | 运算结果 |
---|---|---|---|
= | y = 6 | � | y = 6 |
+= | y += 1 | y = y+1 | y = 7 |
-= | y -= 1 | y = y-1 | y = 5 |
*= | y *= 2 | y = y*2 | y = 12 |
/= | y /= 2 | y = y/2 | y = 3 |
%= | y %= 4 | y = y%4 | y = 2 |
赋值运算嵌套使用
赋值运算符可以嵌套使用:
y = (x = 2) + 5; //结果: x=2,y=7
比较运算符
运算符 | 说明 | 例子 | 运算结果 |
---|---|---|---|
== | 等于 | 2 == 3 | FALSE |
=== | 恒等于(值和类型都要做比较) | 2 === 2 2 === "2" |
TRUE FALSE |
!= | 不等于,也可写作<> | 2 == 3 | TRUE |
> | 大于 | 2 > 3 | FALSE |
< | 小于 | 2 < 3 | TRUE |
>= | 大于等于 | 2 >= 3 | FALSE |
<= | 小于等于 | 2 <= 3 | TRUE |
比较运算符也可用于字符串比较。
三元运算符
三元可以视作是特殊的比较运算符:
(expr1) ? (expr2) : (expr3)
语法解释:在 expr1 求值为 TRUE 时整个表达式的值为 expr2,否则为 expr3。
例子:
x = 2;
y = (x == 2) ? x : 1;
alert(y); //输出:2
该例子判断 x 的值是否等于 2,如果 x 等于 2,那么 y 的值就等于 x(也就是等于2),反之 y 就等于 1。
提示
为了避免错误,将三元运算符各表达式用括号括起来是个不错的主意。
逻辑运算符
运算符 | 说明 | 例子 | 运算结果 |
---|---|---|---|
&& | 逻辑与(and) | x = 2; y = 6; x && y > 5 |
FALSE |
|| | 逻辑或(or) | x = 2; y = 6; x && y > 5 |
TRUE |
! | 逻辑非,取逻辑的反面 | x = 2; y = 6; !(x > y) |
TRUE |
字符串连接运算符
连接运算符 + 主要用于连接两个字符串或字符串变量。因此,在对字符串或字符串变量使用该运算符时,并不是对它们做加法计算。
例子:
x = "beijing";
y = x + "你好!"; //结果:y = "beijing你好!"
// 要想在两个字符串之间增加空格,需要把空格插入一个字符串之中:
y = x + " 你好!"; //结果:y = "beijing 你好!"
当对字符串和数字做连接(加法)运算时,会将数字先转换成字符串再连接(相加):
x = 25;
y = "我今年" + x + "岁"; //结果:y = "我今年25岁"