我的代码如下。我想从低级对象(子对象 - 内部对象)访问顶级(父级)变量。 例如,在文件夹结构中,如果我们想要转到像../那样的父文件夹。同样,如何从子对象访问父对象属性。
var a = {
b: {
c: 5,
h: {
d: {
e: function(){
alert(c);
}
}
}
}
};
在上面的示例代码中,我想访问该属性' c'来自' d'。
答案 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();