js单例模式(Singleton)

来源:互联网 发布:证件照软件 编辑:程序博客网 时间:2024/05/21 07:54

   单例:实例不存在的情况下可以通过一个方法创建一个类来实现,创建新实例。实例已存在它会返回盖对象的引用。

<script type="text/javascript">window.onload=function(){var myModule=(function(){//定义一个単例变量var instance=null;//里面是一个SingleTonfunction init(){  privateVar='pva',  privateRandomNum=Math.random(),  //私有方法  function privateMethod(){       }  return{publicmethod: function(){privateMethod();},publicRandomNum:function(){return privateRandomNum},publicPro:privateVar  };}return{getInstance: function(){if(instance==null){   instance=init();}   return instance;}}})();       var singleTonA=myModule.getInstance();   var singleTonB=myModule.getInstance();   alert(singleTonA===singleTonB);}  </script>

适用场景:

当类只有一个实例,而且客户可以从一个众所周知的访问点访问它时。

该唯一的实例应该是可以通过子类化实例,并且客户无需更改代码就可以扩展一个实例时。

原创粉丝点击