- 算术运算符
+:求和
-:求差
*:求积
/:求商
%:取模(取余数) 2%7 =2 因为 2=2+0*7
-
- 优先级:
同时使用多个运算符编写程序时,会按着某种顺序先后执行,我们称为优先级。JavaScript中 优先级越高越先被执行,优先级相同时以书从左向右执行。
乘、除、取余优先级相同
加、减优先级相同
乘、除、取余优先级大于加、减
使用 () 可以提升优先级
总结: 先乘除后加减,有括号先算括号里面的~~~
注意点:
取余运算符开发中的使用场景是? 来判断某个数字是否能被整除
- 赋值运算符
赋值运算符:已经学过的赋值运算符:= 将等号右边的值赋予给左边, 要求左边必须是一个变量
其他赋值运算符:
+= 、 -= 、*= 、 /= 、 %=
使用这些运算符可以在对变量赋值时进行快速操作
age += 5 等价于: age = age + 5
- 一元运算符
众多的 JavaScript 的运算符可以根据所需表达式的个数,分为一元运算符、二元运算符、三元运算符
二元运算符:
例: let = 10 + 20
-
- 一元运算符:
例: 正负号 i++ i-- ++i --i
自增:
符号:++
作用:让变量的值 +1
自减:
符号:--
作用:让变量的值 -1
前置自增 ++i
前置自增:先自加再使用(记忆口诀:++在前 先加)
后置自增 i++
后置自增:先使用再自加(记忆口诀:++在后 后加)
注意点:前置自增和后置自增单独使用没有区别,单独就是独立写一行代码
- 比较运算符
作用:比较两个数据大小、是否相等
> : 左边是否大于右边
<: 左边是否小于右边
>=: 左边是否大于或等于右边
<=: 左边是否小于或等于右边
==: 左右两边是否相等,将两边的数据进行转换为数值再比较
!=: 不等于
===: 左右两边是否类型和值都相等
!==: 左右两边是否不全等
比较结果为boolean类型,即只会得到true或false
注意点:
- 字符串比较,是比较的字符对应的ASCII码
1 是49 , A是65 , a是97
从左往右依次比较
如果第一位一样再比较第二位,以此类推
比较的少,了解即可
- NaN不等于任何值,包括它本身
- 尽量不要比较小数,因为小数有精度问题
- 不同类型之间比较会发生隐式转换,最终把数据隐式转换转成number类型再比较
所以开发中,如果进行准确的比较我们更喜欢 === 或者 !==
- 逻辑运算符
作用:逻辑运算符用来解决多重条件判断
&& 逻辑与 符号两边都为true结果才为true
|| 逻辑或 符号两边有一个true就为true
! 逻辑非 true变false、false变true
短路:只存在于 && 和 || 中,当满足一定条件会让右边代码不执行
原因:通过左边能得到整个式子的结果,因此没必要再判断右边
运算结果:无论 && 还是 || ,运算结果都是最后被执行的表达式值,一般用在变量赋值
注意点:
- 在js中,转换bool为false的值有:0、‘’、“”、undefined、null、NaN,其他为true
- 字符串和数值进行比较会使用Number()转换为数值,转换的结果是NaN,NaN与任何值相比结果都是false
- 运算符优先级
注意点:
- 一元运算符里面的逻辑非优先级最高
- 逻辑与比逻辑或优先级高