在做项目时遇到一个这样的问题,用JavaScript做判断比较
console.log(1<1<2);
输出结果为true,于是我继续做了下实验,发现
console.log(1<1<1); console.log(10<1<1); console.log(1<1<2); console.log(1<2<2); console.log(1<0<2);
输出的结果均为true。结合自己掌握的知识以及在网上查找的资料,得出以下结论:
以1<1<1为例分析,比较符“<”比较时是从左到右,一对一比较,
左边两个1相比肯定为false,但JavaScript中true和false与1和0是可以相互转换的,即1=true,false=0,
因此前面两个1<1为false后与第三个1比较,转换为0<1比较,因此得到结果为true。
以下比较方式同理。