Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
“如何获取对象”;地址;用javascript? 我不确定我是否清楚地描述了这个问题,目前我正在使用ExtJS做一些开发,我看到一些对象是“单点”,例如“Ext.VIEWPORT”,在C++中,我可以得到对象的地址,看看它们是否是同一个对象,在Python中,我可以使用“id”函数来获得对象的哈希代码,在Java中,我有类似的内置函数“hashCode”来检查对象是否真的是同一个对象,javascript中有类似的方法吗?因此,如果javascript中有一些函数或运算符,那么我可以判断ExtJS中定义为“singleton”的对象是否真的引用了同一个对象。_Javascript_Extjs - Fatal编程技术网

“如何获取对象”;地址;用javascript? 我不确定我是否清楚地描述了这个问题,目前我正在使用ExtJS做一些开发,我看到一些对象是“单点”,例如“Ext.VIEWPORT”,在C++中,我可以得到对象的地址,看看它们是否是同一个对象,在Python中,我可以使用“id”函数来获得对象的哈希代码,在Java中,我有类似的内置函数“hashCode”来检查对象是否真的是同一个对象,javascript中有类似的方法吗?因此,如果javascript中有一些函数或运算符,那么我可以判断ExtJS中定义为“singleton”的对象是否真的引用了同一个对象。

“如何获取对象”;地址;用javascript? 我不确定我是否清楚地描述了这个问题,目前我正在使用ExtJS做一些开发,我看到一些对象是“单点”,例如“Ext.VIEWPORT”,在C++中,我可以得到对象的地址,看看它们是否是同一个对象,在Python中,我可以使用“id”函数来获得对象的哈希代码,在Java中,我有类似的内置函数“hashCode”来检查对象是否真的是同一个对象,javascript中有类似的方法吗?因此,如果javascript中有一些函数或运算符,那么我可以判断ExtJS中定义为“singleton”的对象是否真的引用了同一个对象。,javascript,extjs,Javascript,Extjs,您不需要这么复杂的东西。如果两个值是同一对象,则它们将相等 var foo = {}; var bar = foo; alert(foo == bar); 如果它们是不同(即使相同)的对象,它们也不会是 var foo = {}; var bar = {}; alert(foo == bar); 你的问题不是很清楚,但我会尽力回答 默认情况下,Javascript本身不为每个对象使用唯一标识符。如果你想的话,你可以加上这个 根据您的要求,您还可以使用运算符来比较类型 然而,ExtJs确实使用

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

var foo = {};
var bar = foo;
alert(foo == bar);
如果它们是不同(即使相同)的对象,它们也不会是

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

你的问题不是很清楚,但我会尽力回答

默认情况下,Javascript本身不为每个对象使用唯一标识符。如果你想的话,你可以加上这个

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

然而,ExtJs确实使用了唯一的id(id或itemId),并且还允许您获取所使用对象的类名。因此,您可以在ExtJs中轻松实现这一点

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


这另一个可能是有益的

我想我理解你了。。。但是,你检查过这个JavaScript比较器吗

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

引用:

您需要迭代正在比较的每个对象的键/值对,以确定它们是否相同。我对Javascript不熟悉,在调用“var bar=foo”时,bar是对foo的引用还是只是foo的“深度副本”?两者都不是。这是
foo
的浅显副本。但是
foo
的值首先是对对象的引用。在JS中,您永远不会通过值访问对象,只能通过引用访问对象。@Quentin您部分是对的,但我不会称之为“浅拷贝”。“浅复制”通常指的是一个不同的对象,其中所有关键帧都具有相同的值,而引用对象的任何关键帧在两个副本中都引用相同的对象。要描述这一点:
var foo={};var-bar=foo,我想说foo和bar引用同一个对象。