js的&&和||

二元逻辑运算符:underfined,null,false,-0,0,NaN,''解释为假,其他所有值(包括所有的对象,空对象也不例外Boolean({})为真,Boolean([])为真)都是真值.

var a = 2;

var b = 3;

var andflag = a && b ;

var orflag = a || b;

问andflag 和orflag 分别是什么?

起初我认为: andflag 和orflag 的值都为 true; 毕竟 && 和 || 都是求Boolean ,后来发现,我错了。

答案应该是  andflag  = 3,orflag = 2;

原因是这样的:

与(&&)

如果第一个运算数是假值,返回它。否则,返回第二个运算数。

NaN&&123

-->>NaN

345&&0

-->>0

或(||)

如果第一个运算值是真值,就返回它,否则,返回第二个运算数。

123||“abc”

-->123

null||456

-->456

 

该逻辑运算符支持短路原则:&&返回第一个假值,||返回第一个真值

var b = 4 && 5 && null && 0   ——>   var b = true && true && false && false   结果是false   则返回第一个false   即是null . 

var  a = “”  ||  null  || 3  ||  4   —->    var a = fasel || false || true ||  true  结果为true  则返回第一个true,即是3


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值