js模式
来源:互联网 发布:网络综合布线施工要求 编辑:程序博客网 时间:2024/05/16 06:47
前面的模式是用于为自定义类型创建私有变量和特权方法的。而道格拉斯所说的模块模式( module
pattern)则是为单例创建私有变量和特权方法。所谓单例( singleton),指的就是只有一个实例的对象。
按照惯例, JavaScript 是以对象字面量的方式来创建单例对象的。
var singleton = { name : value, method : function () { //这里是方法的代码 }};
模块模式通过为单例添加私有变量和特权方法能够使其得到增强,其语法形式如下:
var singleton = function () { //私有变量和私有函数 var privateVariable = 10; function privateFunction() { return false; } //特权/公有方法和属性 return { publicProperty: true, publicMethod: function () { privateVariable++; return privateFunction(); } };}();
这个模块模式使用了一个返回对象的匿名函数。在这个匿名函数内部,首先定义了私有变量和函数。
然后,将一个对象字面量作为函数的值返回。返回的对象字面量中只包含可以公开的属性和方法。由于
这个对象是在匿名函数内部定义的,因此它的公有方法有权访问私有变量和函数。从本质上来讲,这个
对象字面量定义的是单例的公共接口。这种模式在需要对单例进行某些初始化,同时又需要维护其私有
变量时是非常有用的,例如:
var application = function () { //私有变量和函数 var components = new Array(); //初始化 components.push(new BaseComponent()); //公共 return { getComponentCount: function () { return components.length; }, registerComponent: function (component) { if (typeof component == 'object') { components.push(component); } } };}();
0 0
- js模式
- JS 设计模式----工厂模式
- 【JS设计模式】命令模式
- 【JS设计模式】组合模式
- JS设计模式-工厂模式
- js设计模式-观察者模式
- js设计模式--代理模式
- js设计模式-----观察者模式
- JS 设计模式--策略模式
- js设计模式--外观模式
- JS设计模式-工厂模式
- JS设计模式-观察者模式
- JS设计模式-代理模式
- JS设计模式-策略模式
- js模式对话框
- JS模块模式
- JS打开模式窗体
- JS 代码模式
- 黑马程序员——java中的多线程(二)
- linux下minicom和USB转串口
- OC语言(七)Block复习
- C++ STL 算法:复制元素
- Gradle中ListenerManager的初始化流程
- js模式
- Linux使用curl访问https站点时报错汇总
- JSP学习笔记(一):JSP基础
- log4j配置文件 mybaits怎么在控制台打印出sql语句
- MarkDown中一键贴图 for Mac
- 把相同的精灵装上车——使用CCSpriteBatchNode优化
- Observer观察者模式
- 技术揭秘12306改造(一):建立可伸缩扩展的云应用平台
- codeforces 268D Wall Bars (dp)