逻辑中断很重要,会影响我们程序运行结果
var num = 0 ;
console .log(123 + num++);
console .log(num);
这是逻辑或的逻辑中断,最左边表达式值确认为真,则返回表达式1,表达式2则不在执行(num++)
所以最终输出结果 num 为 0
原理:当有多个表达式(值)时,如果已经确定左边表达
式的值,则不在运算右边表达式的值。
逻辑与短路运算
1.逻辑与
语法:表达式1 && 表达式2
如果表达式1 结果为真,则返回表达式2
console .log(123 && 456); //最左边表达式值确认为真,按照规则返回表达式2,所以返回值为456
如果表达式1 结果为假,则返回表达式1
console .log(0 && 456);
//最左边表达式值确认为假,按照规则返回表达式1,所以返回值为0
逻辑运算符是用布尔值运算的运算符 ,返回值也是布尔值。如果有空的或者否定的为假
这五种为假 0 '’ NaN undefined null
2.逻辑或
如果表达式1 结果为真,则返回表达式1
console .log(123 || 456); //最左边表达式值确认为真,按照规则返回表达式1,所以返回值为123
如果表达式1 结果为假,则返回表达式2
console .log(0 || 456); //最左边表达式值确认为假,按照规则返回表达式2,所以返回值为456