Skip to content

Latest commit

 

History

History
61 lines (53 loc) · 1.26 KB

单例模式.md

File metadata and controls

61 lines (53 loc) · 1.26 KB

JavaScript设计模式之单例模式

学习一个东西,一定要明白这个东西的概念是什么,这个东西被提出来的目的是什么

概念

单例模式又称为单体模式,其实就是只允许实例化一个对象,有时我们也可以用一个对象类规划命名空间,仅仅有条的管理对象的属性和方法.

单例模式比较常规常见,比较简单,直接看代码

代码演示

//命名空间管理
var Neal = {
    g:function(id) {
      return document.getElementById(id)
    },
    css:function(id,key,value) {
      this.g(id).style[key] = value;
    },
    //...
}
//模块分明
var A = {
    Util:{
        util_method1:function() {
          
        },
        util_method2:function() {
          
        }
    },
    Tool:{
        tool_method1:function(){},
        tool_method2:function(){},
    }
    //...
}
//惰性单例
var LazySingle = (function() {
  //单例实例引用
  var _instance = null;
  //单例
  function Single() {
    return{
        publicMethod:function() {
          
        },
        publicProperty:'1.0'
    }
  }
  //获取单例接口
  return function() {
    if(!_instance){
        _instance = Single();
    }
    //返回单例
    return _instance;
  }
})()