放大模式
模块化开发
//init的方式:
onload或其他
fun init(){
initXXX();
}
var initXXX = (function(){
function init(){
bindEvent();
}
function bindEvent(){
}
return function(){
init();
}
})();
//直接抛出对象的方式 用的比较多
var text = (function(){
var text1 = function(){},
text2 = function(){},
text3 = function(){};
return {
text1: text1,
text2: text2,
text3: text3
}
})();
注意事项:
1. 模块里面使用全局变量的时候,必须使用注入的方式。
(如使用全局global,要传参进去使用)
放大模式 || 宽放大模式
// augmentation 放大模式 -> 用注入形式实现模块间依赖
// loose augmentation 宽放大模式
要点:
1. 宽放大模式注入自身,且return处理后的自身
2. 放大模式注入其他对象,使用其方法。
两种放大模式的用途:
1.多人开发同一个模块时,return自身 ==》 宽放大模式
var mod = {};
mod = (function(module){
module.a = 1; //注入自身,写好方法时又返回自身
module.test1 = function(){};
return module;
})(mod || {});
2. 实现模块的继承 ==> 放大模式
//模块间的依赖,用模块间注入的形式
var mod2 = (function(mod1){
mod1.test1();
})(mod1);
紧放大模式(选学)
用得少,