js逻辑关系符连用的问题

在数学中,6>a>4的意思是a大于4小于6,。在js中也是这样吗?

结果并不与数学中的一样,下面就来解释一下:

var a = 5;

var b = 6>a>4;
var c = a<6 && a>4;

console.log(b);	/*false*/
console.log(c);	/*true*/

console.log(Number(true));	/*1*/
console.log(Number(false));	/*0*/
上面代码贴出了结果,b是false,c是true。c很明显,只解释b。

var b = 6>a>4,会先进行6>a运算,结果是true,再进行true>4运算。

在js中,布尔值与数字比较时,会先把布尔值用Number()方法转化成数字,再进行比较。

那么,true>4肯定就是false了。

所以,js中,最好不要连续使用关系操作符


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值