我正在学习 Javascript 中的 this
关键字。我正在尝试一种使用内部对象函数访问外部对象属性的方法。例如:
var outer = {
prop : 'prop',
func : function(){
return this.prop;
},
inner : {
func : function(){
return this.prop;
}
}
}
--> outer.func() : 'prop'
--> outer.inner.func() : undefined
我明白为什么它不起作用,但我不知道如何访问外部对象的 prop
。
最佳答案
让函数属性的内部知道任何关于已分配给包含该属性的对象的变量名通常是一个非常糟糕的主意。它引入了不需要的依赖项,更重要的是阻止了此类对象的多个实例存在。
另一种构造是下面显示的“模块模式”,它使用一个闭包和一个允许任何嵌套属性访问该(本地)变量的变量。
var outer = (function() {
var prop = 'prop';
return {
prop: prop,
func: function() {
return prop;
},
inner : {
func : function() {
return prop;
}
}
}
})();
关于javascript - 如何使用内部对象函数 Javascript 访问外部对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30695546/