运算符
算数运算符
+(加) 、-(减)、*(乘)、%(除) 、 /( 取余-开发中经常作为某个数字是否被整除)
优先级:先乘除 后加减 有括号里面的先算括号里面的
赋值运算符
= :赋值 ,将等号右边的赋值给左边,要求左边必须是一个容器
+=:例 m += n 将m + n 的值重新赋值给 m 等同于 m = m + n
-=、*=、%=、/= 同理
一元运算符
一元运算符,只需要一个操作数
自增:
符号:++
作用:让变量的值
+1
自增运算符的用法:
前置自增和后置自增单独使用没有区别 但是参与运算就会产生区别
前置自增:(先自增 再使用)
<script>
// 前置自增
let i = 1
//先自加 再使用
// i先自增加1 变成2 然后再加2
console.log(++i + 2) // 4
</script>
后置自增:(先使用 在自增)
<script>
// 后置自增
let i = 1
//先使用 再自增
// i先进行运算(1) 然后再加2
console.log(++i + 2) // 3
/再输出i 的话结果为2
console.log(i)
</script>
比较运算符
用来比较两个数据的大小 是否相等 返回结果只有两个, true 和false
> : 左边是否大于右边
<: 左边是否小于右边
>=: 左边是否大于或等于右边
<=: 左边是否小于或等于右边
==: 左右两边是否相等
===: 左右两边是否类型和值都相等
!==: 左右两边是否不全等
比较结果为boolean类型,即只会得到true或false
比较运算符的细节:
- 字符串比较,是比较的字符对应的ASCII码,从左往右依次比较,如果第一位一样再比较第二位,以此类推,比较的少,了解即可
- NaN不等于任何值,包括它本身
-
尽量不要比较小数,因为小数有精度问题
-
不同类型之间比较会发生隐式转换 ( 最终把数据隐式转换转成number类型再比较 )
逻辑运算符
逻辑运算符用来解决多重条件判断
逻辑运算符里的短路 :
短路:只存在于 && 和 || 中,当满足一定条件会让右边代码不执行
原因:通过左边能得到整个式子的结果,因此没必要再判断右边
运算符的优先级
一元运算符里面的
逻辑非优先级很高
逻辑与比逻辑或优先级高