如何在javascript / jQuery中获取父对象属性

时间:2013-07-21 19:36:24

标签: javascript jquery object nested

我一直在寻找一种方法来获取嵌套对象中的Parent对象属性,但没有运气。

这是我正在使用的嵌套对象:

var obj = {
        name: 'My Name',
        obj1: {
                 age: 18,
                 name: this.name
            }
    };

但是它给出了undefined错误。

在JavaScript或jQuery中有没有办法实现它?

2 个答案:

答案 0 :(得分:4)

您可以这样做:

var obj = new obj();

function obj(){
    var self = this;
    self.name = 'My Name';
    self.obj1 = {
        age: 18,
        name: self.name
    }
};

答案 1 :(得分:0)

有了jQuery的爱,我实现了它。

这是我正在使用的原始版本:

var obj = {
        name: 'My Name',
        obj1: {
                 age: 18,
                 name: this.name
            }
    };

这是我的诀窍:

我创建了另一个对象obj1Copy

var obj1Copy = {
    name: obj.name
};

请参阅此副本中的我使用父对象名称而不是this。 然后使用jQuery $.extend合并它们:

var newObj = $.extend(obj.obj1, obj1Copy);

然后使用newObj代替obj1,例如newObj.name会返回My Name

如果有更好更简单的方法请分享。