在 JavaScript 中从嵌套对象中检索父对象
在 JavaScript 中,访问嵌套对象是一个常见的操作。然而,从嵌套对象中检索父对象可能具有挑战性。
考虑以下场景:
obj: { subObj: { foo: 'hello world' } }; var s = obj.subObj;
现在,您想要从变量获取对父对象 obj 的引用s。有没有办法实现这一点?
答案
不幸的是,JavaScript 中的嵌套对象无法直接访问其父对象。因此,不可能直接从嵌套对象中获取父对象。
为了说明这一点,让我们考虑以下代码:
var main = { name : "main object", child : { name : "child object" } };
从主对象访问子对象的名称是简单明了(即 main.child.name)。但是,尝试从子对象访问父对象的名称(即 main.child.parent.name)将产生错误。
替代解决方案
虽然直接从子对象引用是不可行的,还有一种替代方法,利用函数。
var main = { name : "main object", child : { name : "child object" }, init : function() { this.child.parent = this; delete this.init; return this; } }.init();
在这段代码中,init函数直接向子对象添加一个父属性,指向父对象。初始化完成后,您可以通过调用 main.child.parent.name 成功从子对象中访问父对象的名称。
这个方法有点不正统,但提供了解决从子对象中检索父对象的问题的方法JavaScript 中的嵌套对象。
以上是如何从 JavaScript 中的嵌套对象获取父对象?的详细内容。更多信息请关注PHP中文网其他相关文章!