在此示例中,是否存在可搜索的唯一标识符(例如,键,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的机器级别差异(不包括实用性和/或用户可访问性),并且我相信“内存中的不同位置”肯定可以回答这一问题。

最佳答案

是否有较低级别的唯一字符被临时分配给ob1和ob2


简短的回答:不,您将无法访问任何内容。

顺便说一句,在您的示例中obj1obj2不相等的原因是因为它们实际上指向内存中的不同位置。那是唯一要做的比较(这与JavaScript字符串比较不同,JavaScript字符串比较不比较内存位置,而是字符串本身的值)。

08-17 21:53