我正在阅读A JavaScript Module Pattern,并想知道为什么要通过触发这样的即时匿名函数来进行模块分配呢:
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.");
}
};
}();
而不是直接将对象分配给YAHOO.myProject.myModule
,如下所示:
YAHOO.myProject.myModule = {
myPublicProperty: "I'm accessible as YAHOO.myProject.myModule.myPublicProperty.",
myPublicMethod: function () {
YAHOO.log("I'm accessible as YAHOO.myProject.myModule.myPublicMethod.");
}
};
答案 0 :(得分:2)
在那个例子中,没有任何意义。您没有阅读足够的链接文档。
第3节是在return语句之前的匿名函数中添加“私有”方法和变量。,这说明了为什么你想在这里使用IEFF。
您可以定义本地变量,这些变量可供您公开的函数访问,但不能直接访问。