如何获得对象"地址"在JavaScript中?

时间:2015-05-11 12:44:00

标签: javascript extjs

好吧,我不确定我是否清楚地描述了问题,目前我正在使用ExtJS进行一些开发,我看到一些对象是" singleton",例如" Ext.Viewport&# 34;,在C ++中,我可以获取对象的地址以查看它们是否实际上是同一个对象,在Python中,我可以使用" id"函数获取对象的哈希码,而在Java中我有类似的内置函数" hashCode"检查对象是否真的是同一个对象,javascript中有类似的方法吗?所以如果javascript中有一些函数或运算符,那么我可以判断ExtJS中的对象是否定义为" singleton"实际上是引用同一个对象。

3 个答案:

答案 0 :(得分:3)

你不需要那么复杂的东西。如果两个值是同一个对象,那么它们将是相等的。

var foo = {};
var bar = foo;
alert(foo == bar);

如果它们是不同的(即使是相同的)对象,它们将不会。

var foo = {};
var bar = {};
alert(foo == bar);

答案 1 :(得分:2)

你的问题不是很清楚,但我会尝试回答。

默认情况下,Javascript本身不会为每个对象使用唯一标识符。如果你愿意,你可以添加它。

根据您的要求,您还可以使用typeof运算符来比较类型。

但是,ExtJs确实使用了唯一的id(id或itemId),并且还允许你获取你使用的对象的类名。所以你可以在ExtJs中轻松完成。

答案取决于您是在比较对象的类型还是实际的对象实例本身。

其他SO answer可能是有益的

答案 2 :(得分:1)

我认为我理解你......但是,你检查过这个JavaScript比较器吗?

=== -  equal value and equal type
!== - not equal value or not equal type

参考:Javascript comparators