如何在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
}
};