我在这里阅读了 Addy 关于揭示模块模式的书。但是,如果您执行示例代码,它实际上会返回 undefined。解决方法是在每个调用的函数之前添加“return”。如果使用 RMP,我应该为每个调用的函数添加返回吗?这是使它工作的正确方法吗?我错过了什么?
var myRevealingModule = (function () {
var privateCounter = 0;
function privateFunction() {
privateCounter++; <--need to add return
}
function publicFunction() {
publicIncrement(); <-- need to add return
}
function publicIncrement() {
privateFunction(); <--need to add return
}
function publicGetCount(){
return privateCounter;
}
// Reveal public pointers to
// private functions and properties
return {
start: publicFunction,
increment: publicIncrement,
count: publicGetCount
};
})();
myRevealingModule.start(); <-return undefined
http://addyosmani.com/resources/essentialjsdesignpatterns/book/#revealingmodulepatternjavascript