JavaScript中的Singleton模式

关于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,.谢谢支持!!

 

转载于:https://www.cnblogs.com/PeterYao/archive/2009/06/27/1512156.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值