javascript中的&&

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中的&&相关的知识,希望对你有一定的参考价值。

&&在javascript中有三种理解:

1.当两个操作数都是布尔值的时候,&&对两个执行布尔与(AND)操作,只有在两个都是true时,才返回true。如果其中一个是false,它返回false。

                 x==0&&y==0             //只有在x和y都为0的时候,才返回true

2.&&可以对真值和假值进行布尔与(AND)操作。如果两个操作数都是真值,那么返回一个真值,否则,至少一个操作数是假值的话,则返回一个假值。(假值有:false、null、undefined、0、-0、NaN和"",所有其他的值包括所有对象都是真值)。

 

3.&&首先计算左侧的操作数。如果结果是假值,整个就是假值,这时返回左操作数的值。

  左为真:计算右侧的操作数的值并将其返回作为整个表达式的计算结果:

                var  m={x:1};

                      var p=null;

                o&&o.x                //1:o是真值,因此返回值为o.x

                p&&p.x                //null:p是假值,因此将其返回,而不去计算p.x

&&的这种行为有时称做“短路”。

以上是关于javascript中的&&的主要内容,如果未能解决你的问题,请参考以下文章

javascript中的&& ||

Javascript 中的 && 和 || 使用小结

Javascript 中的模板标签

javaScript 中的布尔运算符 && 和 ||

PHP和Javascript中的逻辑操作符&&和||的比较

有人能解释一下为啥“运算符优先级”适用于 javaScript 中的“||”、“&&”等逻辑运算符吗