JS逻辑运算符的使用技巧

逻辑运算符的使用技巧

逻辑或

Logical OR (||)语法

expr1 || expr2

返回expr1如果expr1为true;否则返回expr2。||会选择第一个(leftmost)为真的值作为结果,当找到一个真值的时候,后面的值不再计算,这叫做short-circuiting 。如果没有知道为真的值,则返回假,比如0||false会返回false。
注意,如果都为假,则返回假。

逻辑或条件赋值更清晰

看一下如下代码,当members没有定义的时候,我们定为为数组,如果已经定义了,就直接跳过。这时候用\||会更清晰

//define members 
//var members;
//var members=[1,2,3];
members = members ? members : [ ];
members = members || [];

逻辑与

Logical AND (&&) 语法

expr1&&expr2
如果expert为假,则返回expr1,也就是假;否则,返回expr2。
&&会检查是否所有的值都为真,返回找到最右边的真值,或者第一个为假的值。如果找到一个为假的值,则直接返回它,比如"Cat" && NaN返回NaN
注意,全部为真才为真。

逻辑AND的一个使用技巧

做一件事情需要满足很多条件的时候,可以用&&,比如进行一些权限管理。看看下面的代码,实际上是一种权限管理。

var tall = true;
var rich = true;
var handsome = true;
tall && rich && handsome && alert("可以学学写程序!");

JS的逻辑运算符和强类型语言有什么区别

下面这些情况在强类型语言中不可能出现:
"Cat" && NaN返回NaN
"Cat" || "Dog"返回"Cat"
强类型语言中只能返回真和假,因为类型已经指定为bool。看一下c语言

bool b = "Dog";

结果是编译不过。
注意:javascript是并没有编译的过程。

JS逻辑运算符的使用技巧_第1张图片

你可能感兴趣的:(JS逻辑运算符的使用技巧)