我在_.isEqual下的underscore.js文档中看到了这一点。为什么会这样呢?

var moe   = {name: 'moe', luckyNumbers: [13, 27, 34]};
var clone = {name: 'moe', luckyNumbers: [13, 27, 34]};
moe == clone;
=> false


是因为字符串和数字不是对象,所以可以比较它们,但是JS不允许您比较作为对象的数组或对象文字吗?

最佳答案

对象文字始终定义一个新对象,因此变量moeclone引用不同的对象。


  仅当操作数引用相同的对象时,比较对象的表达式才为true


read more about comparison

this post还具有很好的提升功能,具有深层的“相似”比较功能

09-25 17:53