链接数学比较运算符时javascript的奇怪行为

链接数学比较运算符时javascript的奇怪行为,javascript,Javascript,当检查chrome控制台时,运行以下语句返回奇怪的结果 0.5

当检查chrome控制台时,运行以下语句返回奇怪的结果

0.5<0.6<0.7=>返回false

1.5<1.6<1.7=>返回真值

有人能解释这种行为吗

警报(“0.5<0.6<0.7=“+(0.5<0.6<0.7));
警报(“1.5<1.6<1.7=“+(1.5<1.6<1.7))
0.5<0.6//true
true变为1,因为类型更改为数字

1 < 0.7 // false
1<0.7//false
第二条:

1.5 < 1.6 // true
1.5<1.6//true
由于类型更改,true变为1

1 < 1.7 // true
1<1.7//true
表达式

0.5 < 0.6 < 0.7
将尝试将两侧都转换为数字,因为当转换为数字时,
true
1
,因此表达式变为

1 < 0.7
1 < 1.7
true
,因此它变为
1
,表达式变为

1 < 0.7
1 < 1.7

的关联性我不喜欢这些问题。已经有一百万人了,有人在控制台里插手,然后感到惊讶。有无限多个可能的组合,你们可以在控制台中运行,并询问有关它的问题。为什么(0<5<3)返回真的可能重复?
1.5 < 1.6
1 < 1.7
console.log(+true);
// 1
console.log(+false);
// 0
console.log(Number(true));
// 1
console.log(Number(false));
// 0