javascript 或运算符"||"和“&&”运算符妙用

蛰伏已久 蛰伏已久 2018-01-22

当或运算和与运算,用于条件判断时,很容易理解,在此不提。

我们有时候会看到类似如下的代码

function a(){
    alert("执行了a");
    return 1;
}

function b(){
    alert("执行了b");
    return 2;
}

var c=a()&&b();

alert(c)

c的值会是多少呢?

&&操作

以A&&B为例

  • 首先会执行A,如果A的值为true,则执行B,并返回B的值

  • 如果A的值为false,则忽略执行B,直接返回A的值

上述代码,a()返回1,为true,则继续执行b(),返回2,c的值为2

如在回调中经常这么写,callback&&callback(),先判断callback是否存在,存在则执行,以免报错。


||操作

以A||B为例

  • 首先执行A,如果A的值为true,则直接返回A

  • 如果A的值为false,则无论B结果为什么,执行并返回B

如 var a=b||{},可以为a赋初始值,如果b存在且为true,则a=b,否则a={}




分享到

点赞(0)