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