首页 > 解决方案 > JavaScript 中的关系比较

问题描述

我对这些比较感到困惑,我不知道怎么会发生。在底部代码中,当我比较xy小于或大于时,它返回 false,但是当我将它们与 equals 进行比较时,它们返回 true!你知道为什么会这样吗?

var x = { y: 10 };
var y = { y: 11 };

x < y;  // false
x == y; // false
x > y;  // false

x <= y; // true
x >= y; // true

标签: javascriptcompare

解决方案


现在我明白x <= yy <= x是如何导致 true 但是x < yx == yx > y都是错误的。在继续接受的答案中,我可以说这些发生是因为规范说对于x <= y,它实际上会首先评估y < x,然后否定该结果。由于y < x也是假的,所以x <= y的结果为真。


推荐阅读