/**
自增自减运算符
* ++ --
* 作用: 将变量自增1或者自减1
*
* 自增自减运算符
*/
// var num = 1
// ++ 在前, 先运算
// console.log(++num) // 2
// ++ 在后, 后运算
// console.log(num++) // 1
// console.log(num) // 2
/**
逻辑运算符
*
* && 逻辑与 逻辑且
* 语法: 变量1/数据1 && 变量2/数据2
*
* 运行规则: 会判断符号左边的变量的值, 转换为布尔值后
* 如果符号左边布尔值为 true, 那么运行符号右边的代码或者返回符号右边的代码
* 如果符号左边布尔值为 false, 那么直接运行符号左边的代码或者返回符号左边的代码
*
* || 逻辑或
* 语法: 变量1/数据1 || 变量2/数据2
*
* 运行规则: 会判断符号左边的变量的值, 转换为布尔值后
* 如果符号左边布尔值为 true, 那么运行符号左边的代码或者返回符号左边的代码
* 如果符号左边布尔值为 false, 那么直接运行符号右边的代码或者返回符号右边的代码
*
*
* 逻辑与 和 逻辑或 将来在 分支语句中经常会使用 作为 判断条件
* 逻辑与: 满足条件1 并且 满足条件2
* 逻辑或: 满足条件1 或者 满足条件2
*
*
* ! 逻辑非
* 得到数据的取反后的布尔值
* !undefined !true
*/
1. 逻辑与 &&
// console.log(变量1/数据1 && 变量2/数据2)
// console.log(true && false)
// console.log(1 && 0)
// console.log(0 && 100)
// console.log('手动分割线=================')
// console.log(true && false)
/**
* 按照逻辑与的规则, 符号左边的布尔值为 true 那么运行符号右边的代码, 或者返回符号右边的代码
*
* 所以相当于写了: console.log(false)
*/
// console.log(0 && 100)
/**
* 按照逻辑与的规则, 符号左边的布尔值为 false 那么运行符号左边的代码, 或者返回符号左边的代码
*
* 所以相当于写了: console.log(0)
*/
// true && console.log('条件成立')
// false && console.log('你猜我会不会打印?')
2. 逻辑或 ||
// console.log(true || false)
// console.log(1 || 0)
// console.log(0 || 100)
console.log(1 || 0)
/**
* 按照逻辑或的规则, 符号左边的布尔值为 true 那么运行符号左边的代码, 或者返回符号左边的代码
*
* 所以相当于写了: console.log(1)
*/
console.log(0 || 100)
/**
* 按照逻辑或的规则, 符号左边的布尔值为 false, 那么运行符号右边的代码, 或者返回符号右边的代码
*
* 所以相当于写了: console.log(100)
*/
true || console.log('左边为 true 右边就不会执行了')
false || console.log('左边为 false 右边才会执行')