有没有办法从父对象获取属性?

时间:2016-05-10 20:46:59

标签: javascript object this

我不确定“父对象”甚至“属性”是否是正确的术语,所以希望你能够理解。

var parentObj = {
  x: 1,
  childObj: {
    x: 2,
    childX: this.x, //2
    parentX: ?????? //1
  }
}

有没有办法获得父X值的值。我知道我可以使用ParentObj.x,但是有没有办法获得值而不管父母的名字是什么?

感谢。

1 个答案:

答案 0 :(得分:0)

不,没有内置的方法可以做到这一点。

你必须创建一个种子才能拥有那种类型的"导航属性"可用。

function seedParent(obj,top){
    obj["parentObj"] = top || this;
    for(var key in obj){
        if(toString.call(obj[key]) == toString.call({}))
            seedParent(obj[key],obj);
    }
}

像这样的工作。如果你愿意,你可以使用childObj.parentObj.x