首页  >  文章  >  web前端  >  如何从 JavaScript 中的嵌套对象获取父对象?

如何从 JavaScript 中的嵌套对象获取父对象?

Susan Sarandon
Susan Sarandon原创
2024-10-25 03:14:29618浏览

How to Get the Parent Object from a Nested Object in JavaScript?

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn