单例模式又称为单体模式,其实就是只允许实例化一个对象,有时我们也可以用一个对象类规划命名空间,仅仅有条的管理对象的属性和方法。
//命名空间管理
var obj = {
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;
};
})();