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

如何在javascript/jQuery中获取父对象属性,javascript,jquery,object,nested,Javascript,Jquery,Object,Nested,我一直在寻找一种在嵌套对象中获取父对象属性的方法,但没有成功 以下是我正在使用的嵌套对象: var obj = { name: 'My Name', obj1: { age: 18, name: this.name } }; 但它给出了和未定义的错误 JavaScript或jQuery中有什么方法可以实现它吗?我出于对jQuery的热爱,实现了它 这是我使用的原始

我一直在寻找一种在嵌套对象中获取父对象属性的方法,但没有成功

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

var obj = {
        name: 'My Name',
        obj1: {
                 age: 18,
                 name: this.name
            }
    };
但它给出了和
未定义的
错误


JavaScript或jQuery中有什么方法可以实现它吗?

我出于对jQuery的热爱,实现了它

这是我使用的原始版本:

var obj = {
        name: 'My Name',
        obj1: {
                 age: 18,
                 name: this.name
            }
    };
下面是我的诀窍:

我创建了另一个对象
obj1Copy

var obj1Copy = {
    name: obj.name
};
请参见,我在此副本中使用的是父对象名称,而不是
。 然后使用jQuery
$。扩展
合并它们:

var newObj = $.extend(obj.obj1, obj1Copy);
然后使用
newObj
代替
obj1
,如
newObj.name
将返回
My name


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

带着对jQuery的热爱,我实现了它

这是我使用的原始版本:

var obj = {
        name: 'My Name',
        obj1: {
                 age: 18,
                 name: this.name
            }
    };
下面是我的诀窍:

我创建了另一个对象
obj1Copy

var obj1Copy = {
    name: obj.name
};
请参见,我在此副本中使用的是父对象名称,而不是
。 然后使用jQuery
$。扩展
合并它们:

var newObj = $.extend(obj.obj1, obj1Copy);
然后使用
newObj
代替
obj1
,如
newObj.name
将返回
My name


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

您可以这样做:

var obj = new obj();

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

您可以这样做:

var obj = new obj();

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