在 Javascript 中,对象可以嵌套,创建层次结构。但是,从嵌套子对象访问父对象可能具有挑战性。
考虑以下嵌套对象:
<code class="javascript">obj: { subObj: { foo: 'hello world' } };</code>
要引用 s 中的子对象,我们使用:
<code class="javascript">var s = obj.subObj;</code>
现在,我们想使用 s 获取父对象 obj。
不幸的是,Javascript 中没有直接的机制可以从子对象中检索父对象。这是因为子对象不知道其父对象的存在。
替代解决方案
一种解决方法是利用函数在嵌套对象中建立父子关系。扩展上面的代码:
<code class="javascript">var main = { name : "main object", child : { name : "child object", parent : null }, init : function() { this.child.parent = this; delete this.init; return this; } }.init();</code>
在 init 函数中,我们将父对象分配给子对象内的父属性。通过调用它,我们从嵌套子对象中引用当前对象(即主对象)。最后,为了代码清晰,我们删除了 init 函数。
使用这种技术,我们现在可以从子对象访问父对象:
<code class="javascript">main.child.parent.name // returns "main object"</code>
以上是如何在 JavaScript 中访问嵌套子对象的父对象?的详细内容。更多信息请关注PHP中文网其他相关文章!