在此示例中,是否有可搜索的唯一标识符(即密钥,uid等等 - 请原谅正确的术语)以区分ob1和ob2?
var makeObject = function() {
return {example: 'property'};
};
var ob1 = makeObject();
var ob2 = makeObject();
现在我们知道了:
ob1 === ob2; // false
除了这个不等式的布尔区别,是否有临时分配给ob1和ob2的低级别唯一字符?如果是这样,可以通过控制台访问这些独特的字符吗?
编辑: How to determine equality for two JavaScript objects?真的进入了我的问题的分化方面,所以谢谢你。我觉得我的问题的另一部分更多地关注ob1与ob2(除了实用性和/或用户可访问性)之间的机器级差异,并且我相信"内存中的不同位置"肯定会回答这个问题。
答案 0 :(得分:1)
是否有临时分配给ob1和ob2的低级别唯一字符
简短回答:不,你无法访问任何内容。
顺便说一句,obj1
和obj2
在您的示例中不相同的原因是因为它们实际上将指向内存中的不同位置。这是唯一正在进行的比较(这与JavaScript字符串比较不同,后者不比较内存位置,而是字符串本身的值)。