Module模式

基本的module模式:

var blogModule = (function () {

  var my = {},privateName="博客园";

  function privateAddTopic (date) {

  //do something

}

  my.name = privateName;

  my.add = function(date){

  privateAddTopic(date)

}

  return my;

}())

上面的代码声明了一个全局变量blogModule,并且带有2个可访问的属性:blogModule.add和blogModule.name,除此之外,其它代码都在匿名函数的闭包里保持着私有状态。同时根据上面传入全局变量的例子,我们也可以很方便地传入其它的全局变量。

高级的Module模式

扩展

var blogModule = (function (my) {
my.AddPhoto = function () {
//添加内部代码
};
return my;
} (blogModule));

  
松耦合


var blogModule = (function (my) {
// 添加一些功能
  return my;
} (blogModule || {}));



blogModule.CommentSubModule = (function () {
var my = {};
// ...

return my;
} ());


原文地址:https://www.cnblogs.com/maixi/p/5284453.html