JS 关于 || 和 && 的简单计算方式

我看到网上有写文章写到 如果是true  || 就返回第一个操作数,如果是false || 就返回第二个操作数。。。什么什么的

死记硬背对于我来说很难,

我的理解方式是

|| 操作符 :

有一个为true即为true,

从左到右转化成boolean值,如果值为true,就不继续计算了,直接返回该值

所以,它会返回转化后第一个为true 的值

&& 操作符 :

都为true为true,有false就会false

从左到右转化成boolean值,如果值为false,就不继续计算了直接返回该值

如果为true继续计算下一个值,如果都为true,就会一直计算下去,直到计算最后一个值,还是true,就会返回最后一个值

 

所以|| &&的返回值是什么,主要看它计算到哪里返回的,计算到哪里就返回哪里的值,这样就不容易模糊了

 

顺便一提,js的隐式转换,如判断 a == b ,先进行ToPrimitive判断,如结果出现非字符串,会先计算ToNumber(a) 然后比较

如果还不相同,会计算ToNumber(b) 然后两者比较

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值