原文地址:http://www.cnblogs.com/TomXu/archive/2011/12/30/2288372.html
理解:Module模式的基本特征:
- 模块化,可重用
- 封装了变量和function,和全局的namaspace不接触,松耦合
- 只暴露可用public的方法,其它私有方法全部隐藏
基本用法(引用大叔):
var Calculator = function (eq) {
//这里可以声明私有成员
var eqCtl = document.getElementById(eq);
return {
// 暴露公开的成员
add: function (x, y) {
var val = x + y;
eqCtl.innerHTML = val;
}
};
};
匿名闭包:
1:(function(){
//程序代码
}())
2:(function(){
})()
引用全局变量:
(function(jquery){
})(jquery)
声明全局变量:
var blogModule = (function () {
var my = {}, privateName = "博客园";
function privateAddTopic(data) {
// 这里是内部处理代码
}
my.Name = privateName;
my.AddTopic = function (data) {
privateAddTopic(data);
};
return my;
} ());