1,逻辑与 && 符号两边都为true,结果才为true 一假则假
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><script>// 逻辑与 有一边假则假console.log(true && true)console.log(false && true)</script></body></html>
结果如下:
2,逻辑或 || 符号两边有一个true 结果就为true 一真则真
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><script>// 逻辑或 有一边真则真console.log(true || true)console.log(false || true)</script></body></html>
结果如下:
3,逻辑非 !取反值,true变false false变true 真变假,假变真
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><script>// 逻辑非 取反值 真则是假 假则是真console.log(! true)console.log(! false)</script></body></html>
结果如下:
4,逻辑运算符里的短路
短路:只存在于 && 和 || 中,当满足一定条件时会让右边的代码不执行
1,逻辑与 && 当左边为false时就短路,右边则不会执行
注:数字中除了0为false 其他数字则为true
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><script>console.log(false && 20) // falseconsole.log(5 < 3 && 20) // falseconsole.log(undefined && 20) // undefinedconsole.log(null && 20) // nullconsole.log(0 && 20) // 0console.log(10 && 20) // 20</script></body></html>
结果如下:
2,逻辑或 || 当左边为true时就短路,则右边不会执行
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><script>console.log(false || 20) // 20console.log(5 < 3 || 20) // 20console.log(undefined || 20) // 20console.log(null || 20) // 20console.log(0 || 20) // 20console.log(10 || 20) // 10</script></body></html>
结果如下:
运算结果:无论 && 还是 || ,运算结果都是最后被执行的表达式值,一般用在变量赋值