十.逻辑操作符

187 阅读2分钟

逻辑与&&

逻辑与操作符由两个和号(&&)表示,有两个操作数,相当于and。

逻辑与的布尔值:需要两个操作数都是true才会返回true。

image.png

逻辑与操作属于短路操作,即如果第一个操作数是false,那么就不会再对第二个操作数求值。

var a=A&&B;==>A是一个表达式,B也是一个表达式。如果A表达式判定为布尔表达式的值的false,则a的结果就是A表达式的结果,如果A表达式判定为布尔表达式的值的true,则a的结果就是B表达式的结果。如果a是A表达式那么B表达式不运行。

逻辑或||

逻辑或操作符由两个竖线符号(||)表示,有两个操作数,相当于or。

逻辑或的布尔值:两个操作数只要任意一个是true就会返回true。

image.png

逻辑或操作符也是短路操作符,如果第一个操作数的求值结果为true,就不会对第二个操作数求值了

var a=A||B;==>A是一个表达式,B也是一个表达式。如果A表达式判定为布尔表达式的值的true,则a的结果就是A表达式的结果,如果A表达式判定为布尔表达式的值的false,则a的结果就是B表达式的结果。如果a是A表达式那么B表达式不运行。

逻辑非!

逻辑非操作符由一个叹号(!)表示,可以应用于js中的任何值。无论这个值是什么数据类型,这个操作符都会返回一个布尔值。逻辑非操作符首先会取出它的操作数的值然后转换为一个布尔值,最后再对其求反。

逻辑与&&和逻辑或||,不一定返回布尔值,而逻辑非!一定会返回一个布尔值。

ps:同时使用两个逻辑非操作符,可以用于将一个值转换为与其对应的布尔值。

布尔判定

空字符串,±0和NaN,undefined,null布尔判定为false;

任何非空字符串,任何非0数字以及任何引用数据布尔判定为true。