Module模式是提供公有和私有方法的代码块,有利于封装组织代码,可减少变量及函数名与其它模块的冲突。
推荐阅读:
http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html
http://toddmotto.com/mastering-the-module-pattern/
Module 模式多种多样,我下面仅列出常用,或比较完善或有特殊用处的Module 模式
1.私有变量加"_"表示的 Revealing Module模式
var Module = (function () { var _privateMethod = function () {
// private stuff
}; var publicMethod = function () {
_privateMethod();
}; return {
publicMethod: publicMethod
}; })();
所有的函数都放在函数内,私有的函数或变量前面加"_",公有的方法用返回对象的同名变量对函数内部直接引用。这样的写法结构非常清晰。
2.扩展Module的模式
var Module = (function (Module) { Module.extension = function () {
// another method!
}; return Module; })(Module || {});
通过引入之前的模块可以对模块进行扩展。