JS的运算符
1.算数运算符
- 加 +
- 减 -
- 乘 *
- 除 /
- 取余(求余数)%
注意:+运算符,相加时如果两边都是数字,那么会运算数字的相加操作;相加时如果两边有一个不是数字的,比如出现一个字符串,那么运行的不是相加,而是拼接
拼接操作只有+运算时会出现,其他符号不会出现
其他运算符在遇到两边有非数字类型时,会将其转换为数字(这一步就叫做隐式转换),然后再运算
2.赋值运算符
- =
- +=
- -=
- *=
- /=
- %=
以+= 为例,相当于是“我自身”加上一个新值,就可以用这个+=来优化,例子:a=a+10 优化:a+=10
3.比较运算符
比较运算符两边的值之后,返回一个布尔值,也就是返回一个true或者false
- 大于 >
- 小于 <
- 大于等于 >=
- 小于等于 <=
- 等于 ==/===
- 不相等 != / !==
注意:=赋值号
在JS中,等号出现两次或者三次时代表等于的意思
==在JS中判断时会做隐式转换,也就是说,只会对比值是否相等,不会对比数据类型
===在JS中也叫做全等,在判断的时候不会做隐式转换,也就是说,在对比时除了会对比值是否相等,还会判断数据类型
!= 和 !==
-
共同点:
判断符号两边的值是否不相等,不相等是返回true,相等时返回false
-
不同点:
!=不会对比数据类型
!==会对比数据类型
4.逻辑运算符
&& 逻辑与(相当于并且的意思)
逻辑与运算符的特性!!!
符号左边的值 如果为真(也就是转为布尔值后为true),那么会返回符号右边的值
如果为假(也就是转为布尔值后为false),那么会将自身返回出去
|| 逻辑或(相当于或者的意思)
逻辑或运算符的特性!!!
符号左边的值 如果为真(也就是转为布尔值后为true),那么会将自身返回出去
如果为假(也就是转为布尔值后为false),那么会将符号右边的值返回出去
! 逻辑非(取反,反义词)
逻辑非运算符的特性
语法:!值
返回值:将值转换为布尔值之后,做一个取反的操作,也就是true改变为false,false改变为true
非0即为真!!!
5.自增自减运算符
-
++ 自增运算符的能力就是将自身的值+1
-
-- 自减运算符的能力就是将自身的值-1
语法:(自增自减都是相同的语法,这里拿自增为例) 1.++值 2.值++ 自增自减运算符 写法不同,运行结果也不同 1.++值(++在前) 如果++在前,那么会先将自身的值+1,然后参与其他的 2.值++(++在后) 如果++在后,那么会先参与周围的运算,然后将自身的值+1 *自减运算符在前与在后的作用与自增运算符完全相同,只不过是-1
运算优先级
1.小括号优先级最高
2.一元运算符 ++ -- !
3.算术运算符 先* / % 后 + -
4.比较运算符(大于小于)> >= < <=
5.比较运算符(等于不等于)== != === !==
6.逻辑运算符 先&& 后||
7.赋值运算符 = += -= *= /=