javascript 或运算符"||"和“&&”运算符妙用
当或运算和与运算,用于条件判断时,很容易理解,在此不提。
我们有时候会看到类似如下的代码
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)