算数运算符
1、加法、减法、乘法、除法运算符
+ - * /
+
加法运算符,在数字间进行加法运算,遇见字符串,则进行字符串拼接。
加法运算符是在运行时决定,到底是执行相加,还是执行连接。也就是说,运算子的不同,导致了不同的语法行为,这种现象称为“重载”(overload)。
2、%
余数运算符
11%2 //1
-11%2 //-1
3、自增和自减运算符
++i 先运算,后赋值
i++ 先赋值,后运算
let i=1;
++i // 2
i //2
--i //1
i //1
4、+
数值运算符,-
负数值运算符
数值运算符的作用在于可以将任何值转为数值(与Number函数的作用相同)。
+true // 1
+[] // 0
+{} // NaN
数值运算符号和负数值运算符,都会返回一个新的值,而不会改变原始变量的值。
5、**
指数运算符
// 相当于 2 ** (3 ** 2)
2 ** 3 ** 2
// 512
上面代码中,由于指数运算符是右结合,所以先计算第二个指数运算符,而不是第一个。
6、=
赋值运算符
// 等同于 x = 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
x **= y
比较运算符
-
>
大于运算符 -
<
小于运算符 -
<=
小于或等于运算符 -
>=
大于或等于运算符 -
==
相等运算符 -
===
严格相等运算符 -
!=
不相等运算符 -
!==
严格不相等运算符
布尔运算符
- 取反运算符:
!
- 且运算符:
&&
- 或运算符:
||
- 三元运算符:
?:
&&
和 ||
第一个应用:判断的时候用
if(A||B){} //只要有一个为真,整体就是真
if(A&&B){} //必须两个都为真,整体才为真
第二个应用:赋值的时候使用
var num = 3 || 0; //->num=3
num = 3 && 0;//->num=0
逻辑或:首先看左边的值是真还是假,如果为真,返回左边值,如果为假,返回右边的值
逻辑与:和逻辑或相同,先看左边的值是真还是假,如果左边为真返回右边的值,左边为假返回左边的值
在两者同时出现的时候,逻辑与的优先级高于逻辑或