可能重复:
是否可以访问函数的闭包?
假设我有以下揭示模块模式的实现:
var myModule = (function() {
var myVar,
_self = this;
function setMyVar( myVar ) {
_self.myVar = myVar;
}
return {
setMyVar: setMyVar
}
})()
myModule.setMyVar('happy');
我想要做的是将模块级别 myVar 设置为“快乐”。这不起作用,因为“this”等于匿名父函数中的窗口。一个简单的解决方法是避免子父名称冲突,但抛开这一点不谈,有没有一种方法可以从嵌套子函数内部访问对匿名函数范围的引用?