运算符
JavaScript 中运算符的分类
(1)算数运算符
(2)赋值运算符
(3)关系运算符
(4)逻辑运算符
(5)自增自减运算符
一、算数运算符
运算符 | 说明 | 例子(var a=1,b=2) |
---|---|---|
+ | 相加 | a + b = 3 |
- | 相减 | a - b = -1 |
* | 相乘 | a * b = 2 |
/ | 除法 | a / b = 0.5 |
% | 取余数 | a % b = 1 |
目测,跟数学中的运算符是一样的。但是:
var a = "1", b = "2";
a * b = 2
a / b = 0.5
a - b = -1
a + b = ???
+号,有两层意思,
第一层算数之间的加法;
第二层字符串的连接;执行过程中,先检测加号两边的数据类型,如果发现字符型,那就先生效字符的连接
二、赋值运算符:
运算符 | 例子 | 等价于 | 运算结果 |
---|---|---|---|
= | 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 |
三、关系运算符:
运算符 | 说明 | 例子 | 运算结果 |
---|---|---|---|
== | 等于 | 2 == 3 | false |
=== | 恒等于(值和类型都要做比较) | 2 === 22 === "2" | truefalse |
!= | 不等于 | 2 == 3 | true |
> | 大于 | 2 > 3 | false |
< | 小于 | 2 < 3 | true |
>= | 大于等于 | 2 >= 3 | false |
<= | 小于等于 | 2 <= 3 | true |
4.逻辑运算符:
运算符 | 说明 | 例子 | 运算结果 |
---|---|---|---|
&& | 逻辑与(and) | x = 2;y = 6;x>5 && y>5 | false |
|| | 逻辑或(or) | x = 2;y = 6;x>5 || y>5 | true |
! | 逻辑非,取逻辑的反面 | x = 2;y = 6;!(x > y) | true |
逻辑运算符只做布尔运算
||
的两边只要出现true,结果就是true
&&
的两边只有全部是true,结果才是true;只要出现false就是false
如果作为表达式,a = 1 && 2
&&前面的为真,则直接返回第二个的结果,
&&前面的为假,则直接返回第一个值
! //取相反的结果,表示非
五、自增自减运算符
运算符(var a=1;) | 说明 | 结果 |
---|---|---|
a++ | 先用 a 的值再加 1 | 运行时 a=1,j 运行结束后 a=2 |
a-- | 先用 a 的值再减 1 | 运行时 a=1,j 运行结束后 a=0 |
++a | 先将 a 加 1 再使用 a 的值 | 运行时 a=2,j 运行结束后 a=2 |
--a | 先将 a 减 1 再使用 a 的值 | 运行时 a=0,j 运行结束后 a=0 |
后自增:a++ 先使用再计算
先自增:++a 先计算再使用
a++表示在a原有的基础上增加1
a--表示在a原有的基础上减小1
前自增与后自增有本质的区别,他们相同点都是为自身加了1,不同点是
前自增是先加1,再使用操作数的值
后自增是先使用操作数的值,再加1
前自减是先减1,再使用操作数的值
后自增是先使用操作数的值,再减1