在数学中,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中,最好不要连续使用关系操作符