JS 运算符

创建时间:2019.02.20 修改时间:2019.03.24

算术运算符

x=++y 和 x=y++ 的区别:

所以,若 y=5,则

赋值运算符

比较运算符

比较值的大小。运算结果为 true 或 false,一般用于 if 等逻辑语句中,根据结果来选择下一步行动。

如:A=5,B="5",A==B 返回 true,A===B 返回 false

字符串运算符 +

用于拼接字符串:

返回 Hello World!

注: 如果数字与字符串相加,数字转换为字符串,再与字符串拼接。

返回字符串“55”

逻辑运算符

表示值与值之间的逻辑关系。一般返回 true 或 false。

另外非布尔型数据(不是 true 或 false)参与逻辑运算时,0、null、undefined、NaN、空字符串 转换为 false,其他数据转换为 true。

如:

!""        返回 true
!5         返回 false

0 && 5     返回 0(第一数值为 false,返回第一个数值)
1 && 5     返回 5(第一数值为 true,返回第二个数值)
0 || 5     返回 5(第一数值为 false,返回第二个数值)
1 || 5     返回 1(第一数值为 true,返回第一个数值)

null && 0          返回 null(第一数值为 false,返回第一个数值)
5 && undefined     返回 undefined(第一数值为 true,返回第二个数值)
null || 0          返回 0(第一数值为 false,返回第二个数值)
5 || undefined     返回 5(第一数值为 true,返回第一个数值)

条件运算符

基于逻辑判断对变量进行赋值。

若 A<B 成立,则 X=C,否则 X=D。C 和 D 二选一赋值。

条件运算符的嵌套:

因为一个“?”对应一个“:”,所以“?”和“:”是从外往里层层嵌套的关系,A<B?C>D?E:F:G 相当于 (A<B)?(C>D?E:F):G

若 A<B 成立,则 X=C>D?E:F(若 C>D 成立,X=E,否则 X=F),否则 X=G。