js中连续使用小于号会怎样

案例:

if (1 < 5 < 3) {
	consle.log('这个本不该出现');
} else {
	console.log('该出现的是我');
}

Expected:

该出现的是我

Result:

这个本不该出现

分析:

其实这里只要知道一点就可以很好的解决问题: 
	在js的逻辑运算中, false默认为0true默认为1
比如说:
	console(1 + false); // 1
	console(10 * false); // 0
	console(2 + true); // 1
	console(2 * true); // 2
那么以上的案例中: 1 < 5 < 3, 1 < 5 首先为 false, 那么接下来就可以看作 (false) 0 < 3, 所以最终结果为true。输出了并不是我们期待的结果。

解决方案

console.log(1 < 5 && 5 < 3);

你可能感兴趣的:(javaScript)