告诉我如何从函数的范围(在结构中)访问其父元素(在结构中)?
例如:
var mystruct = {
element1: 10,
element2: 'test',
element3: {
sub1: 'data',
sub2: function(){
return this;
}
},
};
var res = mystruct.element3.sub2();
结果:
res = {sub1: 'data', sub2: f}
但是函数mystruct.element3.sub2如何访问元素mystruct.element1?
例如:
sub2: function(){
return this.parent.element1;
}
结果:
res = 10
方法:
sub2: function(){
return mystruct.element1.sub1;
}
不适合,因为在功能范围内,我不了解mystruct
最佳答案
如果我理解正确,则您要访问主要对象。一种方法是将“ element3”定义为一个函数,以便您可以创建用于访问“ mystruct”的闭包。就像是:
var mystruct = {
element1: 10,
element2: 'test',
element3: function () {
var parent = this;
return {
sub1: 'data',
sub2: function(){
return parent.element1;
}
}
},
};
您可以通过以下方式使用:
mystruct.element3().sub2()
给出:
10