JavaScript中的Singleton模式
2009-06-27 11:11 Peter Yao 阅读(284) 评论(2) 编辑 收藏 举报关于Singleton模式,可能又能知道,不知道的也没有什么关系,在我的gof23模式中,会有所讲解,当然现在还没有出来!,敬请期待!
好,下面我简单说一下,什么是Singleton模式,它就是只能实例化一个对象,也就是里面的构造函数是以private修饰的!好,接下来,大家看这么一个实例:
function TradingMode()
{
this.mode=MODE_RED;
}
TradingMode.prototype.setMode=function() //这儿使用了prototype机制对TradingMode注入方法
{
}
提供一个全局变量作为一个伪Singleton
TradingMode.instance=new TradingMode();
但是这无法阻止恶意代码调用构造函数,另一方面,我们可以不适用prototype,手动创建整个对象:
var TradingMode=new Object();
TradingMode.mode=MODE_RED;
TradingMode.setMode=function(){}
var TradingMode=
{
mode:MODE_RED,
setMode:function(){}
};
实例实现Singleton
Function getTradingMode()
{
if(!top.TradingMode)
{
top.TradingMode=new Object();
top.TradingMode.mode=MODE_RED;
top.TradingMode.setMode=function(){...}
}return top.TradingMode;
}
这样就实现了一个JavaScript的 Singleton模式,大家可以自己做一下,有什么疑问的,可以拿出来一块谈论!
我是Peter,.谢谢支持!!