j's模块模式 目的就是为 单利创建私有变量和特权方法的!(个人觉得适合作为组件开发中的一种方法)
1 普通的模块模式
var single = function () { var privateVariable = 10;//私有变量 function privateMethod() { //私有方法 return null } return { //返回的对象 publicPropites: 1, publicMethod: function () { privateVariable++; return privateMethod(); } } }
以上只是返回了一个普通对象,如果我需要返回一个特定格式的对象呢,就需要增强模块模式
2 增强模块模式
var single = function () { var privateVariable = 10;//私有变量 function privateMethod() { //私有方法 return null }; var obj = new CustomTye();//返回需要的类型的对象 obj.publicPropites = 1; obj.publicMethod = function () { privateVariable++; return privateMethod(); } return obj; }
以上只是基本的模块模式
更多高级模块模式 可以参考
http://www.cnblogs.com/starweb/archive/2013/02/17/2914023.html