单例模式

一个类只能有一个实例化对象。如页面中的弹出框蒙层,一个页面只需要一个。

实现方式:创建一个类,这个类包含一个方法,这个方法在没有对象存在的情况下,将会创建一个新的实例对象。如果对象存在,这个对象只是返回这个对象的引用。

var singleton = (function singleton () {var instance = null; // 存储单例实例的引用   // 创建单例function init () {        // 私有方法和属性function privateMethod () {console.log('this is a private method!')}var privateVariable = 'I am a private variable!'return {        // 公有方法和属性publicMethod: function () {console.log('public')},getPrivateVariable: function () {return privateVariable}}}return {getInstance: function () {if (!instance) {instance = init();}return instance;}}
})();

此方法不够抽象,假如我们需要创建单例函数发生变化呢?所以我们进一步抽象函数

var singleton = function (fn) {var instance = null;return function () {return instance || fn.call(this, arguments)}
}

转载于:https://www.cnblogs.com/running1/p/7523380.html

javaScript设计模式---(单例模式学习)相关推荐

  1. JavaScript设计模式——单例模式的理解与应用

    JavaScript设计模式--对单例模式的一些见解 JavaScript设计模式主要分类: ①创建型设计模式,例如单例模式.工厂模式 ②结构型设计模式,例如装饰者模式.适配器模式 ③行为型设计模式, ...

  2. JavaScript设计模式----单例模式

    声明:这个系列为阅读<JavaScript设计模式与开发实践> --曾探@著一书的读书笔记 1.单例模式的特点和定义 保证一个类仅有一个实例,并且提供一个访问它的全局访问点. 2.传统面向 ...

  3. JavaScript设计模式 单例模式

    单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的全局访问点. 先看一下,在Js中使用传统面向对象的单例模式. 面向对象的单例模式,是通过new关键字来实例化我们想要的对象,并将其赋值给in ...

  4. javascript设计模式--单例模式

    什么是单例模式 单例就是保证一个类只有一个实例,实现的方法一般是先判断实例存在与否,如果存在直接返回,如果不存在就创建了再返回,这就确保了一个类只有一个实例对象.在JavaScript里,单例作为一个 ...

  5. javascript设计模式研究学习-设计模式类别

    编写易于维护的代码,其中一个最重要的方面是能够找到代码重复出现的主体并优化它们.这也是设计模式的有价值的地方. 设计模式类别: 一.创建型设计模式 创建型设计模式划分专注于处理对象创建机制,以适合给定 ...

  6. javascript设计模式-单例模式(singleton pattern)

    为什么80%的码农都做不了架构师?>>>    最简单的单例模式 var mySingleton = {property1: "something",proper ...

  7. JavaScript设计模式——单例模式

    单例模式 单例模式顾名思义就是只生成一个实例对象的一种模式.无论调用多少次都只返回相同的实例. 当我们单击登录按钮的时候,页面中会出现一个登录浮窗,而这个登录浮窗是唯一的,无论单击多少次登录按钮,这个 ...

  8. JavaScript 设计模式核⼼原理与应⽤实践之单例模式——Vuex的数据管理哲学

    JavaScript 设计模式核⼼原理与应⽤实践之单例模式--Vuex的数据管理哲学 保证一个类仅有一个实例,并提供一个访问它的全局访问点,这样的模式就叫做单例模式. 单例模式的实现思路 思考这样一个 ...

  9. Javascript设计模式之单例模式

    前言:菜鸡也有梦想,而我的梦想就是进一个真正的互联网大厂.以前学习的时候没有系统的整理,从今天开始要保持每周写博客的习惯,希望自己可以有所成长.为了培养编程思维,决定从设计模式开始写起.我是通过读&l ...

  10. JavaScript设计模式与开发实践系列之单例模式

    本系列为<JavaScript设计模式与开发实践>(作者:曾探)学习总结,如想深入了解,请支持作者原版 单例模式 实现单例模式 单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的 ...

最新文章

  1. Mysql锁专题:InnoDB锁概述
  2. bootstrap3 表单构建器_实例演示:如何构建高可用的微服务架构
  3. MySQL查看表中的约束
  4. 修改Docker0网桥默认网段
  5. 字典 dictionary c# 0104
  6. 人人都能懂的Vue源码系列—08—initLifecycle
  7. oracle基于脚本的安装失败,脚本建库导致 Oracle 组件未安装故障案例
  8. 使用Tampermonkey进行JavaScript编程
  9. 嵌入式C语言入门操作
  10. matlab画EBSD的极图,EBSD技术原理及系统.PDF
  11. R语言实现随机分组(按照学号或者是姓名随机分组)
  12. 网络:IP基础知识总结
  13. H3C网络故障排除方法
  14. 分享| 电脑设置双屏或多屏显示2种简单方法,你能学会几种?
  15. 摆脱五彩斑斓的黑,成为七彩程序员!
  16. man 命令指定section
  17. 2032:【例4.18】分解质因数
  18. fastTEXT入门自然语言处理NLP
  19. win10连接win7共享打印机提示无法连接到打印机
  20. 梯度算法之梯度上升和梯度下降

热门文章

  1. leetcode 102.二叉树的层序遍历
  2. 阿里重组AI实验室的背后主因,马云也无奈
  3. 当人工智能掌管城市,会带来怎样的巨变?
  4. Fedora重新调整发布周期,Fedora 30将保留很长时间
  5. 3.2计算机系统教案,计算机系统教案.ppt
  6. iview日期选择器更改显示日期书_如何动态 设置 iview DatePicker 控件的 禁用日期(option)...
  7. 卸载MySQL Connector NET无法卸载
  8. java中的线程安全是什么?
  9. SQL性能--left join和inner join的运行速度与效率
  10. idea中build项目之后生成的target看不见