运算符
赋值运算符
赋值运算符:就是对变量进行赋值的运算
已经学过的赋值运算符:= 将等号右边的值赋予给左边, 要求左边必须是一个容器
其它运算符:+= 、 -=、 *= 、 /= 、%=
"+="在做累加求和中经常使用
// 采取赋值运算符
let num = 1
num = num + 1 //2
num += 1 //2
num += 3 //
console.log(num) //4
一元运算符
自增(++) : 让变量的值+1
自减(--) : 让变量的值-1
前置自增和后置自增单独使用没有区别:
// 1. 前置自增
let i = 1
++i
console.log(i)//2
// 2. 后置自增
let i = 1
i++
console.log(i)//2
前置自增和后置自增如果参与运算就有区别:
前置自增:先自加再使用(记忆口诀:++在前 先加)
// 前置自增
let i = 1
console.log(++i + 2); //结果是4
// 注意:i需要先自加,这时i是2,变成2之后再和后面的2相加
后置自增:先使用再自加(记忆口诀:++在后 后加)
//后置自增
let j = 1
console.log(j++ + 2); //结果是3
// 注意:j需要先和2相加,这时j是1,相加之后结果为3,然后j再自加
逻辑运算
| 符号 | 名称 | 日常读法 | 特点 | 口诀 |
|---|---|---|---|---|
| && | 逻辑与 | 并且 | 符号两边都为true结果才为true | 一假则假 |
| || | 逻辑或 | 或者 | 符号两边有一个true就为true | 一真则真 |
| ! | 逻辑非 | 取反 | true变falsefalse变true | 真变假,假变真 |
// 1.逻辑与 一假则假 二元运算符
// 有的丈母娘招女婿: 有车 且 有房 且 有存款。 必须要全部都满足,只要有一个不满足就是false
console.log(true && true)
console.log(false && true)
console.log(3 < 5 && 3 > 2)
console.log(3 < 5 && 3 < 2)
console.log('-----------------')
// 2 逻辑或 一真则真 二元运算符
//我的丈母娘 : 有车 或者 有房 或者 有存款。 只要有任意一个满足就为true
console.log(true || true)
console.log(false || true)
console.log(false || false)
console.log('-----------------')
// 3 逻辑非 取反 一元运算符
//个别丈母娘招女婿: 只要不是女的(取反)
console.log(!true)
console.log(!false)
console.log('-----------------')
let num = 6
console.log(num > 5 && num < 10)
console.log('-----------------')
比较运算符
>: 左边是否大于右边
<: 左边是否小于右边
>=:左边是否大于或等于右边
<=:左边是否小于或等于右边
==: 左右两边值是否相等
===: 左右两边是否类型和值都相等
!==: 左右两边是否不全等
比较结果为boolean类型,即只会得到 true 或 false
=: 单等是赋值
==: 是判断
===: 是全等
开发中判断是否相等,强烈推荐使用 ===
特殊说明:
1.如果是数字和"其他值"的比较 则其他值会自动转换成数字去比较
2.涉及到"NAN"都是false (NaN)
3.如果是"字符串"和"字符串"比较 则会比较每一个字符的ASCII码,同时是按位进行比较
4.如果是布尔值参与比较 布尔值会转换成数字0和1
运算符优先级
- 一元运算符里面的逻辑非优先级很高
- 逻辑与比逻辑或优先级高