单例模式:

什么是单例模式:返回一个对象并且只有一个对象,并且获得该对象的方法。调用这个方法时如果该类引用存在则返回该引用,否则创建这类的实例,并赋值给该类引用

什么情况下用?

假如一个业务中需要一个遮罩层,和里面的一些交互效果,但是遮罩层不一定需要存在

利用闭包把这个遮罩层变量包含在内,第一次时创建这个遮罩层,之后则直接返回这个遮罩层

 

另一个demo

var single = function(){

  var unique;

 

  function getInstance(){

    if(unique === undefined){

      unique = new Construct()

    }

    return unique;

  }

  function Constuct(arg){

    //生成单例构造函数的代码

  }

  return {

    getInstance : getInstance

  }

}