目录
一、运算符
1、运算符的概念
运算符也叫操作符,通过运算符可以对一个值或者多个值进行运算,并获取运算结果,常用于实现赋值、比较、执行算数运算符等功能的符号。
2、算数运算符
1:当对非Number类型进行运算时,会将这些值转换为Number,然后再运算
2:任何值和NaN做运算,都是NaN
3:如果对两个字符串进行加法运算,则会做拼串,会将两个字符串拼接为一个字符串,并返回
4:任何的值和字符串做加法运算,都会先转换为字符串,然后再和字符串做拼串的操作
3、算数运算符种类
+ 加法
- 减法,可以对我们的两个值进行减法运算,并进行返回
当对非Number类型进行运算时,会将这些值转换为Number,然后再运算
* 乘法,可以对两个值进行乘法运算
/ 除法,可以对两个值进行乘法运算
% 取模运算(取余数)
4、表达式与返回值
表达式:是由数字、运算符、变量等组成的式子
表达式最终都会有一个结果,返回给我们,我们称之为返回值
二、一元运算符
+ 正号
-正号不会对数字产生任何影响
- 对一个其他的数据类型使用+,来将其转换为Number
- 负号
-负号可以对数字进行负号的取反
-对非Number类型的值,会先转换为Number,然后再运算 */
三、自增和自减
1、概念
反复给数字变量添加或者减去1,可以使用递增(++)和递减(--)运算符
2、种类
前置递增(递减)运算符
后置递增(递减)运算符
注意:递增和递减运算符都必须和变量配合使用
开发中,大多使用后置递增/减,并且代码独占一行
a++的值等于原变量的值(自增前的值),先返回原值,后自加
++a的值等于新值(自增后的值),先加1,后返回值
四、逻辑运算符
1、!非运算 对一个布尔值进行取反操作
2、 && ‘逻辑与’简称‘与’(像爱情)找false
3、 || 逻辑或,简称‘或’(像亲情)找true
五、非布尔值的与或运算符(短路运算/逻辑中断)
对于非布尔值进行"与","或"运算时,会将其先转换为布尔值,然后再运算,并且返回原值
与运算(找false):如果第一个值为true,则必然返回第二个值;
如果第一个值为false,则直接返回第一个值;
或预算(找true) :如果第一个值为true,则直接返回第一个值;
如果第一个值为false,则直接返回第二个值
六、赋值运算符
= 可以将符号右侧的值赋值给符号左侧的变量
+= a += 5 等价于a =a + 5
-= a -= 5 等价于a =a - 5
*= a *= 5 等价于a =a * 5
/= a /= 5 等价于a =a / 5
%= a %=5 等价于a =a%5
七、关系运算符
> 大于号
>= 大于等于
< 小于号
<= 小于等于
注意:对于非数值的情况
对于非数值的进行比较时,会将其转换为数字然后再比较
如果符号两侧的值,都是字符串时,不会将其转换为数字比较,
而会分别比较字符串的Unicode编码
八、相等运算符
== | 相等 | 用来比较两个值是否相等 | 如果值的类型不同,则会自动进行类型转换,转换为相同的类型,然后比较 |
!= | 不相等 | 比较两个值是否不相 | 也会对变量进行自动的类型转换 |
=== | 全等 | 用来判断两个值是否全等, 和相等类似 | 不会做类型转换,如果两个类型不同,直接返回false |
!== | 不全等 | 用来判断两个值是否不全等,和不等类似 | 不做类型转换,如果两个值类型不同,直接返回true |
特殊情况:
1: undefined衍生自null,所以这两个值做相等判断时,会返回true
2: NaN不和任何值相等,包括他本身
可以通过isNaN()函数来判断一个值是否是NaN,如果该值是NaN则返回true,否则是false
九、三元运算符
语法:条件表达式?语句1:语句2;
执行的流程:
条件运算符在执行时,首先对条件表达式进行求值,
如果该值为true,则执行语句1,并返回执行结果
如果该值为false,则执行语句2,并返回执行结果
如果条件的表达式的求值结果是一个非布尔值,会将其转换为布尔值,然后再运算
十、运算符的优先级
数字越小优先级越高,如果遇到优先级问题,可以用()来改变优先级
优先级 | 运算符 | 顺序 |
1 | 小括号 | () |
2 | 一元运算符 | ++ -- ! |
3 | 算数运算符 | 先* / % 后+ - |
4 | 关系运算符 | > >= < <= |
5 | 相等运算符 | == != === !== |
6 | 逻辑运算符 | 先&& 后 || |
7 | 赋值运算符 | = |
8 | 逗号运算符 | , |