探究一下js中&&和||的特殊用法

探究一下js中&&和||的特殊用法

js中的&&和||的左右两边都是变量的情况

------------------案例1--------------------
代码

var a=null;
var b=1;
alert(a||b);
alert(a&&b);

输出结果

alert(1);
alert(null);



------------------案例2--------------------
代码

var a=null;
var b=undefined;
alert(b||a);   //这里改变了a,b的位置
alert(a&&b);

输出结果

alert(null);
alert(null);

总结
(1)、a||b,
如果a为true的话,返回a,否则返回b(不管b是否为true),
那变量怎么判定true和false呢?
“” , false , 0 , null , undefined , NaN处理为false,
其他的为true。
(2)、a&&b
如果a是true的话,直接返回b(不管b是true还是false)
如果a是false的话,直接返回a。

其实也就是说,
||优先返回的是true,如果第一个是true,直接返回第一个,如果第一个不是true,那就选第二个。


&&优先返回的是false,如果第一个是false,直接返回第一个,如果第一个不是false,那就直接返回第二个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值