我一直在寻找一种在嵌套对象中获取父对象属性的方法,但没有运气。
这是我正在使用的嵌套对象:
var obj = {
name: 'My Name',
obj1: {
age: 18,
name: this.name
}
};
但它给出了undefined
错误。
JavaScript或jQuery中有什么方法可以实现吗?
我一直在寻找一种在嵌套对象中获取父对象属性的方法,但没有运气。
这是我正在使用的嵌套对象:
var obj = {
name: 'My Name',
obj1: {
age: 18,
name: this.name
}
};
但它给出了undefined
错误。
JavaScript或jQuery中有什么方法可以实现吗?
你可以这样做:
var obj = new obj();
function obj(){
var self = this;
self.name = 'My Name';
self.obj1 = {
age: 18,
name: self.name
}
};
凭借对 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
。
如果有更好更简单的方法,请分享。