我一直在寻找一种方法来获取嵌套对象中的Parent对象属性,但没有运气。
这是我正在使用的嵌套对象:
var obj = {
name: 'My Name',
obj1: {
age: 18,
name: this.name
}
};
但是它给出了undefined
错误。
在JavaScript或jQuery中有没有办法实现它?
答案 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
。
如果有更好更简单的方法请分享。