对象比较的底层问题

var a = {};

var b = {};

a > b; //false
a < b; //false

a == b; //false

a >= b;//true

a <= b;//true

正常情况下,两个对象比较是比较地址,对象和其他类型比较调用对象toString方法,然后再调用number方法,而这里,很明显调用的是地址比较方法,而对象的地址是hash算法随即分配的结果。那么问题来了,前面三种情况可以解释,那么后面两种情况是什么原因导致的?求解。

ruibin
浏览 1789回答 1
1回答

卖火柴的小舒

结合上面的说法,小于等于运算只是简单地“不大于”,既然a<b  >>false那也就说a是不大于b的,a<=b也就返回true。a<=b同理!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript