逻辑运算符与短路语法
逻辑运算符:&&(与) ||(或) !(非)
正常情况下,参与逻辑运算的是boolean和boolean,得到的结果也是boolean。
值按照真值表来定。
&&(与):
从表格中我们可以发现,在与运算中,a和b只要出现一个flase则结果就为flase。只有a和b都为true的时候,结果才为true。
例:
console.log(true &&true); //true
console.log(true &&false); //flase
console.log(false &&true); //flase
console.log(false&&false); //flase
||(或运算)
而或运算恰恰相反,或运算中a和b只要有一个true结果就为true,a和b都是flase的时候,结果才是flase。
例:
console.log(true ||true); //true
console.log(true||false); //true
console.log(false ||true); //true
console.log(false ||false); //true
非运算我们直接举例吧:
console.log(!true); //flase
console.log(!false); //true
console.log(!!!!!!!!!false); //true
有没有发现规律呢~
逻辑运算的循序:非,与,或
例:
true || false && !true || false;
这道题我们需要先算!true,得到flase。
解:true || false &&!true || false
= true || false && flash || flase
=true || flase || flash
=true || flase
=true
了解逻辑运算符之后我们来进阶了解一下短路语法:
如果计算一个与运算的时候,比如a && b,a如果就是一个false,那么就不会管b是什么,直接输出false就行了,等于说直接输出a。
如果计算一个与运算的时候,比如a && b,a如果就是一个true,那么也不用管b是什么,直接把b当做结果输出就行了。
也就是说在进行与运算的时候,如果a是负性的那么直接输出a,如果a是正性的就直接输出b。
负性介绍:false,null,0,NaN, 空字符串(""),undefined
如果进行非运算,比如a || b,如果a是true那么输出a,如果a是flase直接输出b。
相关推荐
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。以上实例中 7、5 和 12 是操作数。关系运算符用于计算结果是否为 true 或者 false。逻辑运算符用于测定变量或值之间的逻辑。