Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.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对象的父对象_Javascript_Class_Oop_Object - Fatal编程技术网

如何访问javascript对象的父对象

如何访问javascript对象的父对象,javascript,class,oop,object,Javascript,Class,Oop,Object,我有一个幻灯片课程,看起来像这样: //Our slideshow class function Slideshow(moduleId) { this.moduleId = moduleId; this.activeSlide = null; this.slides = new Array(); this.newRound(); } 我实例化它,告诉它它在哪个模块上,就像这样 self.modules[moduleId].slideshow = new Slidesh

我有一个幻灯片课程,看起来像这样:

//Our slideshow class
function Slideshow(moduleId) {

  this.moduleId = moduleId;

  this.activeSlide = null;

  this.slides = new Array();

  this.newRound();

}
我实例化它,告诉它它在哪个模块上,就像这样

self.modules[moduleId].slideshow = new Slideshow(moduleId);
现在,正如您所看到的,它已经“挂载”在一个由moduleId命名的模块上,所以我的问题是:这个对象(Slideshow的实例)知道它的父对象吗

我可以通过执行以下操作找到moduleId吗

parent.name

这样得到moduleId?

否。因为JavaScript通过引用传递对象,所以同一个
Slideshow
对象实际上可以同时被多个“父”对象引用。

好的,所以Slideshow真正知道在我的情况下它“挂载”了什么“节点”或“moduleId”的唯一方法是执行我所做的操作系统?对。如果要在幻灯片对象中保留对另一个对象的引用,可以在构造函数中传递对该对象的引用(无论该对象是否为“父对象”)。来自StackOverflow上的类似问题:“另一个对象(父对象)中的嵌套对象(子对象)无法直接从其父对象获取数据。”()。一个选项是将Slideshow对象作为参数传递给模块的构造函数,该构造函数可以在Slideshow上设置“parent”属性。超级,这完全解决了我的问题,我将在构造函数中传递对父对象的引用。非常感谢!我想我仍然需要像在构造函数中一样传递moduleId,但无论如何,这是个好消息。