如何从java脚本中的低级对象访问顶级对象属性

时间:2014-09-05 11:47:11

标签: javascript object

我的代码如下。我想从低级对象(子对象 - 内部对象)访问顶级(父级)变量。 例如,在文件夹结构中,如果我们想要转到像../那样的父文件夹。同样,如何从子对象访问父对象属性。

var a = {
    b: {
        c: 5,
        h: {
            d: {                 
                e: function(){
                alert(c);
                }
            }
        }
    }
};

在上面的示例代码中,我想访问该属性' c'来自' d'。

2 个答案:

答案 0 :(得分:2)

JavaScript中没有向上的关系,因此没有一个简单的方法可以做到这一点。

以此为例:

var a = {};
var b = {};
var c = {};

a.c = c;
b.c = c;

现在你有c并希望得到它的父母。你会得到什么?有两个父母。

这个怎么样?

c.c = c;

现在c是它自己的父母。

您最接近的是搜索树以查找对象的匹配项并编写您自己的逻辑(可能会根据您的具体情况进行自定义)以确定要返回的值。它可能需要保留已经搜索过的对象列表,这样您就不会有无限递归。

答案 1 :(得分:0)

如果我理解正确,你可以试试这个(小提琴:http://jsfiddle.net/8twvpo58/

在这种情况下,你指的是当然的绝对位置,但我不知道另一个选择

var a = {
        b: {
            c: 5,
            h: {
                d: {                 
                    e: function(){
                    alert(a.b.c);
                    }
                }
            }
        }
    };



a.b.h.d.e();