javascript逻辑表达式"&&"和"||"

  学习逻辑表达式时,学到了一些自己以前不理解的点,记录下来。

 运算符“&&”

  “&&”运算符可以从三个不同层次进行理解:

  第一层:当操作数都是布尔值的时候,“&&”对两个值执行布尔与(AND)操作,只有第一个操作数和第二个操作数都是true的时候,它才返回true。

  第二层:“&&”可以对真值和价值(false,null,undified,0,-0,NaN和"")进行布尔值与(AND)操作。

  第三层:运算符首先计算左操作数的值,如果计算结果是假值,那么“&&”这时简单地返回左操作数的值,如果表达式左操作数是真值时,“&&”运算符将返回右操作数的值并将其作为整个表达式的计算结果。

  如: 

var person={name:"wxt"};
var nPerson=null;
person&&person.name      //返回person.name
nPerson&&nPerson.name    //返回nPerson

 运算符“||”

  同样“||”会先计算第一个操作数的值,如果计算结果是真值,那么返回这个真值,否则再计算第二个操作数的值,并返回这个表达式的计算结果。

  

原文地址:https://www.cnblogs.com/wxt-home/p/4032304.html