• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
雪飞夏日
博客园    首页    新随笔    联系   管理    订阅  订阅
JavaScript的singletion设计模式
singLetion

关于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模式
【有什么疑问的,可以拿出来一块谈论!】

posted on 2009-07-26 22:45  雪飞夏日  阅读(176)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3