JS中的运算符分为:算术/赋值/关系/逻辑/字符串
算术运算符: +加法 -减法 *乘法 /除法 %取余
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 += 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 === 2
2 === "2"
|
true
false
|
!=
|
不等于,也可写作<>
|
2 == 3
|
true
|
>
|
大于
|
2 > 3
|
false
|
<
|
小于
|
2 < 3
|
true
|
>=
|
大于等于
|
2 >= 3
|
false
|
<=
|
小于等于
|
2 <= 3
|
true
|