JavaScript中有三种逻辑运算符:非(!)、与(&&)、或(||)

 

了解三类逻辑运算符(给定 x=1, y=6)

javascript且 javascript且或非_运算符

一 :!非运算符

!可以用来对一个值进行非运算,对条件取反。

逻辑非只有一个操作数(!条件)

非真既假,非假即真

(一)、对布尔值进行!非运算

所谓非运算就是一个布尔值进行取反操作。

1、一次运算true变false,false变true

javascript且 javascript且或非_与运算_02

javascript且 javascript且或非_与运算_03

2、如果对一个值进行两次取反,值不会变化。

 

javascript且 javascript且或非_javascript且_04

javascript且 javascript且或非_运算符_05

 对非布尔值进行取反操作,现将非布尔值变成布尔值。所以我们可以利用这个特点将其他类型的值转换成布尔值。

可以对任意一个值进行两次非运算(取反),即可将其转换为Boolean类型;

原理和使用Boolean()函数一样

javascript且 javascript且或非_javascript且_06

javascript且 javascript且或非_与运算_07

 (二)、对非布尔值进行!或运算

运算规则:如果两个值都为true,则返回后面的值。

如果两个值都是false,则返回前面的false。

 

 二、&&与运算符

&&可以对符号两侧的值进行“与运算”,并返回结果。(条件1 && 条件2)

关联两个条件,两个条件都为真的时候,那么整个表达式的结果才为真。

(一)、对布尔值进行与运算

运算规则:

1、只有符号两边同时为 true,结果就返回 true;

javascript且 javascript且或非_javascript且_08

javascript且 javascript且或非_逻辑运算符_09

/2

2、只要有一个值是false,结果就返回false;

javascript且 javascript且或非_逻辑运算符_10

javascript且 javascript且或非_逻辑运算符_11

 

短路 &&与:

  • 如果第一个值为false,则不会看第二个值 ,表达式的值就是false。
  • 如果第一个true时,则继续判断第二个值,并且以第二个做为表达式的值。

1、第一个值为true,会检查第二个值。

javascript且 javascript且或非_与运算_12

javascript且 javascript且或非_javascript且_13

/4

2、第一个值是false,就不会检查第二个值。

javascript且 javascript且或非_javascript且_14

 

  (二)、对非布尔值进行&&与运算

如果第一个值为true,则返回第二个值

如果第二个值为false,则直接返回第一个值(返回的是原值)。

 

三、|| 或运算符

|| 可以对符号两边的值进行或运算并返回结果。

关联两个条件,两个条件中,只要有一个为真,那么整个表达式就为真。

(一)、对布尔值进行或运算

运算规则:

两个都是false,就返回false

主要有一个true,就返回true

短路或||:

  • 如果第一个值为true,则不会检查第二个,整个表达式的值就是true。
  • 如果第一个值为false,才会检查第二个,并且以第二个值作为整个表达式的值。

(二)、对非布尔值进行 || 或运算

运算规则:如果第一个值是true,则直接返回第一个值;

如果第一个值是false,则直接返回第二个值;(无论第二个值是什么)