我正在尝试将一个JavaScript对象字面量包装在一个自执行的匿名函数中。下面的第一个代码示例运行正常,但第二个却不行,我真的不知道为什么?
< p > < em > 工作: < / em > < / p >
据我所知,SEAF应该执行并立即返回。这就是为什么第一个示例返回一个可以与之交互的MyApp对象。我原以为在SEAF内部将MyApp分配给一个变量,然后返回它会做同样的事情,但是却出现了未捕获的引用错误“MyApp未定义”。为什么?
(function(){
return MyApp = {
init: function() {
console.log('MyApp init');
}
}
})();
无法工作:
(function(){
var MyApp = {
init: function() {
console.log('MyApp init');
}
}
return MyApp;
})();
据我所知,SEAF应该执行并立即返回。这就是为什么第一个示例返回一个可以与之交互的MyApp对象。我原以为在SEAF内部将MyApp分配给一个变量,然后返回它会做同样的事情,但是却出现了未捕获的引用错误“MyApp未定义”。为什么?
var someName = (theClosureExecution)
放入其中,它就可以正常工作。 - Mike Edwards