zoukankan      html  css  js  c++  java
  • javascript实现单例模式

    1.简单实现单例模式:

    var singleTon = function(){
      var _pria = 'private value';
      var show_pria = function(){
        console.log(_pria);
      }
      return {
        show : function(){
          show_pria();
        },
        com : '222'
      }
    }
    var instance = singleTon();
    instance.show();
    

     这种方式,在获取实例的时候已经执行了初始化,即使没有调用实例的方法或者获取实例的属性。如果想调用的时候再获取,可以参考下面:

    2.调用时执行初始化,获得实例

     

    var mySingleTon = (function(){
      var instance;
      function init(){
        var _pria = 'private value';
        var show_pria = function(){
          alert(_pria);
        }
        return {
          show_pria : function(){
            show_pria();
          },
          pub_var : 'pub value'
        }
      }
      return {
        getInstance : function(){
          if(!instance){
            instance = init();
          }
          return instance;
        }
      }
    })()
    mySingleTon.getInstance().show_pria();//private value
    

      

  • 相关阅读:
    mouseenter和mouseleave,mouseover和mouseout
    哈哈哈
    instanceof与typeof
    js事件传参
    浮动与清除问题
    简易富文本编辑
    js之prototype
    json序列化
    我对Defer and Promise的实现
    Ajax 完整教程
  • 原文地址:https://www.cnblogs.com/teamobaby/p/3858325.html
Copyright © 2011-2022 走看看