本文摘自 《JavaScript 设计模式》张容铭 著 版权归原作者所有
// 类似jquery的方式,把变量方法都封装起来,只暴露一个命名对象出来。
var fn = {
a:function(){
console.log(a);
}
c:function(){
return this.a();
}
};
// 利用单例模式来保存不让修改的静态变量
var Conf = (function(){
var _conf = {
"MAX_NUM":100,
"MIN_NUM":1,
"COUNT":1000
}
// 返回取值器对象
return {
// 取值器方法
get:function(name){
return conf[name] ? conf[name] : null;
}
}
})();
var a = Conf.get('MAX_NUM');
console.log(a);// 100
// 静态变量的惰性单例
var LazyS = (function(){
// 单例实例引用
var _i = null;
// 单例
function S(){
// 定义私有属性和方法
return {
publicMethod:function(){},
publicProperty:‘1.0’
}
}
// 获取单例对象接口
return function(){
if(!_i){
_i == S();
}
return _i;
}
})();
var a = lazyS();
console.log(a);
网友评论