在此示例中,是否存在可搜索的唯一标识符(例如,键,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
简短的回答:不,您将无法访问任何内容。
顺便说一句,在您的示例中obj1
和obj2
不相等的原因是因为它们实际上指向内存中的不同位置。那是唯一要做的比较(这与JavaScript字符串比较不同,JavaScript字符串比较不比较内存位置,而是字符串本身的值)。