在您的第一个版本中,您只是创建了一个名为 的函数MYAPP
,但您并没有执行它。
在第二个版本中,你的函数被执行并且它的结果被赋值给MYAPP
. 但是你的函数似乎没有返回任何东西,所以MYAPP
保持未定义。
有关此模式的说明,请参阅YUIBlog 上的 Javascript 模块模式。他们的例子是这样的:
YAHOO.myProject.myModule = function () {
return {
myPublicProperty: "I'm accessible as YAHOO.myProject.myModule.myPublicProperty.",
myPublicMethod: function () {
YAHOO.log("I'm accessible as YAHOO.myProject.myModule.myPublicMethod.");
}
};
}(); // the parens here cause the anonymous function to execute and return
所以你的函数基本上返回一个包含所有公共成员的对象。然后,您也可以使用 Firebug 访问这些内容。