分别是:赋值运算符、算术运算符、比较运算符、逻辑运算符和三元运算符
优先级:赋值运算符>算术运算符>比较运算符>逻辑运算符
1、赋值运算符:
(= += -= *= /= %= ) 可以将符号右侧的值赋给符号左侧的变量
a+=5等价于a=a+5
a-=5等价于a=a-5
2、算术运算符:
(+ - * / % ++ --)比如:var num1=200; num2=99;
num1++; //自增1
num1–; //自减1
3、比较运算符:
(== === != > < >= <=)
比如:= =比较值是否相等
===比较值和数据类型是否相等是否相等
!=不等于 >大于 <小于 >=大于等于 <=小于等于
4、三元运算符:
variablename=(condition)?value1:value2
variablenam:变量
?前面表示条件
:后面是两种结果,条件成立执行value1,否则执行value2
5、逻辑运算符:
|| && !
|| : 或
||可以对符号两侧的值进行与运算并返回结果
运算规则:
-两个之中只要有一个true,就返回true
-只有两个值都为false,才会返回false
JS中的“或”属于短路的或,如果第一个值为true,则不会看第二个值
!:非
可以对一个值进行非运算
所谓非运算就是指对一个布尔值进行取反操作
true变false false变true
如果对一个值进行两次取反,它不会变化
如果对非布尔值进行运算,它会将其先转换为布尔值,然后在取反
我们可以利用该特点,来将一个其它的数据类型转换为布尔值
可以为一个任意数据类型取两次反,来将其转换为布尔值
原理和Boolean()函数一样
&&: 与
-&&可以对符号两侧的值进行与运算并返回结果
-运算规则
-两个之中,只要有一个值是false就返回false
只有两个值都为true,才会返回true
-JS中的“与”属于短路的与,如果第一个值为false,则不会看第二个值
```/*
*&& || 非布尔值的运算
* -对非布尔值进行与、或运算时,
* 会先将其先转换为布尔值,然后在进行运算,并且返回原值
* -与运算:
* -如果第一个值为true,则必然返回第二个值
* -如果第一个值为false,则直接返回第一个值
* -或运算:
* -如果第一个为true,则直接返回第一个
* -如果第一个为false,则直接返回第二个
*/
```/