怎么快速理解逻辑非-逻辑与-逻辑或
首先我们先了解一下这三个是怎么样一个概念:
逻辑非操作符由感叹号( !)表示。可以应用于ECMAScript中的任何值。无论这个值是什么数据类型,它都会返回一个布尔值(布尔值只有两个ture、false)。
那么具体它是怎么返回呢------首先将它的操作数转换为一个布尔值,然后再对其 求反 。一定要记住它的执行顺序是 先转换为一个布尔值,然后求反 。
然后我们就要想布尔值只有两个值一个是ture、一个是false,那么我们只要记住能转成false的有哪些就OK了--------- 能转为false的有 false / "" / null / undefined / 0 / NaN ------ 总共有6个 ,那是不是其余的都会转为ture。这个时候我们知道了什么能转为false,什么能转为ture,接下来就是去“取反”了-------当转化为true的时候,它的逻辑非结果就是false;当转化为false的时候,它的逻辑非结果就是ture。
接下来我们举个例子来看看
逻辑与操作符有两个和号表示(&&)。(它要找的是第一个 false )
逻辑与操作属于“短路”操作,就是说,如果第一个操作数能够决定结果了,那它就不会再对它后面的操作数求值了。
逻辑与可用于任何类型的操作数,不仅仅是布尔值,在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,
此时它遵循下列规则:
现在我们就来实际操作一下
逻辑或操作符由两个竖线符号表示( || )。 (它要找的是第一个 ture )。
它也属于“短路”操作;
逻辑或可用于任何类型的操作数,不仅仅是布尔值,在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,
此时它遵循下列规则:
实操一下
现在我们已经知道它们各自的运算了,那么他们同时出现到底谁先谁后呢????
顺序为-----逻辑非>逻辑与>逻辑或
!>&&>||
举个例子
到这里涉及逻辑非、逻辑与、逻辑或的一些基础知识点就已经差不多了,希望对你们有帮助!!!!!