js中的逻辑或和逻辑与

a=''||'abc';                              //返回什么?  'abc'

a=1||2;                                  //返回什么?   1

var a=0; var b=++a||++a ;        //a=1;b=1; 

b=''&&'abc'                             //返回什么?  ’‘

b=1&&2                                 //返回什么?   2

var a=0; var b=++a&&++a ;      //a=2;b=2;

开始我还以为只会返回false或true。

规则就是:

||:  从左到右运算其中的表达式,直到遇到表达式为true,则直接返回这个表达式,后面的表达式不再运算;一直都没遇到,则返回最后那个表达式。

&&:从左到右运算其中的表达式,直到遇到表达式为false,则直接返回这个表达式,后面的表达式不再运算;一直都没遇到,则返回最后那个表达式。

这两种操作符属于短路操作符,只要已经得出最终结果了,就不再继续计算下去。

 

posted @ 2014-08-13 16:10  荔枝龙眼  阅读(145)  评论(0编辑  收藏  举报

这里是页脚Html代码