注意
先看上面博客,在看下面内容
立即执行函数巧妙
为什么模块化设计,要使用立即执行函数
var moduleA = function(){
var a = 1;
var b = 2;
}
像上面函数,我们把变量定义在函数体内,可以不污染全局变量,但是如果这个函数不立即执行的话,我们可能会使用下面代码修改moduleA,这样就不符合高内聚,低耦合的设计思路。
var moduleA = function(){
var c = 3;
}
放大模式巧妙
在模块化设计过程中,模块之间的依赖关系是非常复杂的。所以出现这种宽放大模式,通过把自己通过参数传入到被依赖的模块中去。
var module1 = (function (mod){
mod.m3 = function () {
//...
};
return mod;
})(module1);