可以从outer
对象的函数访问value
的{{1}}吗?有办法吗?
inner
答案 0 :(得分:1)
你可以做的是通过引用明确引用外部对象的属性,例如:
var outer = {
value: "1",
inner: {
getValue: function() {
return outer.value; // 1
}
}
}
alert(outer.inner.getValue());
然而,这个解决方案并不灵活。
答案 1 :(得分:1)
没有办法引用包含对象,因为你的"内部"对象可以包含无限个包含对象。您必须明确并为其提供对父对象的引用。
var outer = { ... };
var inner = {
parent: outer,
getValue: function () { return this.parent.value() }
}
答案 2 :(得分:0)
您无法通过javascript规范执行此操作。 也许这样:
var outer = {
value: "1",
inner: (function(){
var parent = this;
return {
getValue: function() {
return parent.value;
}
}
}).apply(outer)
}